[R] "a"+"b"

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue May 2 13:03:22 CEST 2006


Not easily.  There's a comment in ?Ops that for efficiency the group 
generics only dispatch on objects with a "class" attribute: otherwise you 
could use an S3 method like

`+.character` <- function(e1, e2) paste(e1,e2, sep="")

S4 methods are built on top of S3 methods as far as internal dispatch is 
concerned, so the same comment will apply there AFAICS.

I would think that the intention was also to positively discourage messing 
with the basics of R, as if you were able to do this erroneous uses would 
likely not get caught.

On Tue, 2 May 2006, Matthew Dowle wrote:

>
> Hi,
>
> Is there a way to define "+" so that "a"+"b" returns "ab" ?
>
>> setMethod("+",c("character","character"),paste)
> Error in setMethod("+", c("character", "character"), paste) :
>        the method for function '+' and signature e1="character",
> e2="character" is sealed and cannot be re-defined
>> "a"+"b"
> Error in "a" + "b" : non-numeric argument to binary operator
>
> Thanks!
>
>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list