On Sat, May 29, 2010 at 4:21 AM, Romain Francois <rom...@r-enthusiasts.com> wrote: > Hello, > > I'm trying to make .DollarNames generic and implement a method for it in a > package. .DollarNames is the function that is now called to get completion > possibilities. > > My R code looks like this: > > setGeneric( ".DollarNames" ) > > setClass("track", > representation(x="numeric", y="numeric")) > ## A class extending the previous, adding one more slot > setClass("trackCurve", > representation(smooth = "numeric"), > contains = "track") > > setMethod( ".DollarNames", signature( x = "track", pattern = "character" ), > function(x, pattern){ > grep( pattern, c("foo", "bar"), value = TRUE ) > } ) > > > and the NAMESPACE : > > import( utils ) > exportMethods( .DollarNames ) > exportClasses( track, trackCurve ) > > > When I load the package, I can call .DollarNames explicitely : > >> require( foo ) >> x <- new( "trackCurve", x = 1:10, y = 1:10, smooth = 1:10 ) >> .DollarNames( x, "f" ) > [1] "foo" > > but completion does not work : > >> x$f<TAB> > x$
I guess because > utils:::.DollarNames(x, "f") character(0) so the S4 generic is not being seen within the utils namespace. I don't know what the right fix is... -Deepayan > What do I miss ? > > I've uploaded foo here : http://addictedtor.free.fr/misc/rcpp/foo_1.0.tar.gz > > Romain > > > -- > Romain Francois > Professional R Enthusiast > +33(0) 6 28 91 30 30 > http://romainfrancois.blog.free.fr > |- http://bit.ly/9CQ66r : RMetrics 2010 > |- http://bit.ly/cork4b : highlight 0.1-8 > `- http://bit.ly/bklUXt : RcppArmadillo 0.2.1 > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel