[Rd] S4 dispatch for .DollarNames (utils)

Deepayan Sarkar deepayan.sarkar at gmail.com
Sat May 29 20:23:28 CEST 2010


On Sat, May 29, 2010 at 4:21 AM, Romain Francois
<romain at 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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list