Re: [Rd] calling setGeneric() twice

From: Ross Boylan <ross_at_biostat.ucsf.edu>
Date: Tue, 19 Jan 2010 11:19:30 -0800

On Tue, 2010-01-19 at 10:05 -0800, Seth Falcon wrote:
> > This came up because of some issues with the sequencing of code in
> my
> > package. Adding duplicate setGeneric's seems like the smallest, and
> > therefore safest, change if the duplication is not a problem.
>
> I'm not sure of the answer to your question, but I think it is the
> wrong
> question :-)
>
> Perhaps you can provide more detail on why you are using multiple
> calls
> to setGeneric. That seems like a very odd thing to do.
My system is defined in a collection of .R files, most of which are organized around classes. So the typical file has a setClass(), setGeneric()'s, and setMethod()'s.

If files that were read in later in the sequence extended an existing generic, I omitted the setGeneric().

I had to resequence the order in which the files were read to avoid some "undefined slot classes" warnings. The resequencing created other problems, including some cases in which I had a setMethod without a previous setGeneric.

I have seen the advice to sequence the files so that class definitions, then generic definitions, and finally function and method definitions occur. I am trying not to do that for two reasons. First, I'm trying to keep the changes I make small to avoid introducing errors. Second, I prefer to keep all the code related to a single class in a single file.

Some of the files were intended for free-standing use, and so it would be useful if they could retain setGeneric()'s even if I also need an earlier setGeneric to make the whole package work.

I am also working on a python script to extract all the generic function defintions (that is, setGeneric()), just in case.

Ross Boylan



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue 19 Jan 2010 - 19:23:50 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 19 Jan 2010 - 21:40:15 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.

list of date sections of archive