Am Samstag, 9. Oktober 2010, 08:39:36 schrieb Deepayan Sarkar: > On Fri, Oct 8, 2010 at 6:19 AM, Sebastian Gibb <li...@sebastiangibb.de> wrote: > > Hello Duncan, > > > > thank for your advice, but it doesn't work like expected: > > > > setClass(Class="A", representation=representation(slotA="numeric", > > slotB="numeric")); > > setMethod("$", "A", function(x, name) {return(slot(x, name));}) > > setGeneric(".DollarNames") > > setMethod(".DollarNames", signature(x="A"), function(x, > > pattern)grep(pattern=pattern, x=c("slotA", "slotB"), value=T)) > > > > a <- new("A", slotA=1, slotB=2) > > a$sl <TAB> > > # doesn't print slotA/slotB > > > >> a$ > > > > What I'm doing wrong? > > There is a namespace issue with making .DollarNames() generic; > basically, the completion code in the utils namespace never sees the > new S4 generic. See a previous discussion at > > http://www.mail-archive.com/r-de...@r-project.org/msg20553.html > > Defining a S3 method should work (without the need for a dummy S3 > class even with inheritance if you are working with R 2.12): > > .DollarNames.A <- > function(x, pattern) { > grep(pattern=pattern, x=c("slotA", "slotB"), value=T) > } > > -Deepayan
Hello Deepayan, thanks for the link. This solution works for R 2.12. Bye Sebastian ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.