Re: [Rd] relist, an inverse operator to unlist

From: Seth Falcon <sfalcon_at_fhcrc.org>
Date: Mon, 21 May 2007 17:15:10 -0700

Hi Andrew,

Andrew Clausen <clausen_at_econ.upenn.edu> writes:
> For reasons I can't explain, the code I posted worked in my session, but didn't
> work when I started a fresh one. standardGeneric() seems to get confused
> by defaults for missing arguments. It looks for a "missing" method with
> this code:
>
> relist <- function(flesh, skeleton=attr(flesh, "skeleton"))
> {
> standardGeneric("relist")
> }

This looks very odd to me. If you are creating an S4 generic function, why are you not calling setGeneric? Or has that part of the code simply been omitted from your post?

I will also add that the notion of a default argument on a generic function seems a bit odd to me. If an argument is available for dispatch, I just don't see what sense it makes to have a default. In those cases, the default should be handled by the method that has a signature with said argument matching the "missing" class.

What often does make sense is to define a generic function where some argument are not available for dispatch. For example:

setGeneric("foo", signature="flesh",

           function(flesh, skeleton=attr(flesh, "skeleton") 
               standardGeneric("foo")))


+ seth

-- 
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
http://bioconductor.org

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue 22 May 2007 - 00:19:10 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 May 2007 - 17:33:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.