[Rd] S4 Method Collisions with "[" (PR#4075)
John Chambers
jmc at research.bell-labs.com
Fri Sep 5 10:00:42 MEST 2003
colin at colinsmith.org wrote:
>
> Full_Name: Colin A. Smith
> Version: 1.8.0
> OS: Mac OS X 10.2.6
> Submission from: (NULL) (216.102.90.18)
>
> Both Biobase and my package annaffy use S4 classes to define methods for "[".
> Both packages use the save image method of installation. (See annaffy 1.0.3 in
> BioC CVS.)
>
> Depending on how both packages are loaded, the Biobase definitions seem to be
> getting masked out:
>
> > library(Biobase)
> > library(annaffy)
> > showMethods("[")
>
> Function "[":
> x = "ANY"
> x = "container"
> x = "phenoData"
> x = "exprSet"
> x = "aafList"
> x = "aafTable"
>
> > library(annaffy)
> (annaffy loads Biobase in .First.lib)
I'm not sure exactly what's happening, but with (or without) saved
images you should put a require(Biobase) _in the main source_ for the
library (in order to guarantee that it's there when setMethod(), etc.
calls are evaluated). There is then no need to load it separately in
.First.lib. I'm a little surprised this worked at all.
(We're trying to arrange that the source code for the package looks the
same as it would if source'd directly into the global environment.)
> > showMethods("[")
>
> Function "[":
> x = "ANY"
> x = "aafList"
> x = "aafTable"
>
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
--
John M. Chambers jmc at bell-labs.com
Bell Labs, Lucent Technologies office: (908)582-2681
700 Mountain Avenue, Room 2C-282 fax: (908)582-3340
Murray Hill, NJ 07974 web: http://www.cs.bell-labs.com/~jmc
More information about the R-devel
mailing list