Dear Barry, this is really interesting. However I could not understand this line:
Ops.ss=function(e1,e2){paste(e1,e2)} Where you have told R to behave "+" function differently when it faces "ss" class? What should be the ideal approach if I what to use "*" function? Thanks, On Thu, Oct 28, 2010 at 2:47 PM, Barry Rowlingson <b.rowling...@lancaster.ac.uk> wrote: > On Thu, Oct 28, 2010 at 9:31 AM, Mark Heckmann <mark.heckm...@gmx.de> wrote: >> >> How can I add a new method to the generic function "[" or "+" >> >> I want to create a S3 and S4 class that will use the "[" and "+" method in a >> different way. >> How can I overload the generic primitive "[" or "+" so the method dispatch >> will work correctly for my class? >> >> I saw an example of this in the ggplot2 package where different objects are >> joined using the "+" primitive. >> Still, I could not figure out how to do that. >> >> Can someone give a small code example to show how that works? > > With S3 method stuff, to override "+" its as easy as writing Ops.{class}: > > > a="hello" > > b="world" > > a+b > Error in a + b : non-numeric argument to binary operator > > class(a)="ss" > > class(b)="ss" > > Ops.ss=function(e1,e2){paste(e1,e2)} > > a+b > [1] "hello world" > > better make sure I haven't broken anything: > > > c=1 > > d=2 > > c+d > [1] 3 *phew* > > The Ops function should really have a handler for all possible > operators (*, /, - etc) or fail with an error - see Ops.Date for > example. > > With S4 classes... umm.. signatures... setMethod... setGeneric... > errr. something... representations... setClass this that... yeah. > Something like that. > > Barry > > ______________________________________________ > 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. > ______________________________________________ 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.