[R] how to overwrite a Unary operator ?
David Winsemius
dwinsemius at comcast.net
Fri Oct 17 09:16:47 CEST 2014
On Oct 16, 2014, at 10:36 PM, PO SU wrote:
>
> Tks for your advice, let the ++ problem alone, how to write an
> Unary operator ? Is it permitted in R?
> such as a<-2 , a%+2% will let a be 4 .
OK, that's just wrong. Oh, OK, just for fun, as it were:
inc <- function(x)
{
eval.parent(substitute(x <- x + 1))
}
> inc(10)
Error in 10 <- 10 + 1 : invalid (do_set) left-hand side to assignment
> y=10
> inc(y)
> y
[1] 11
> I just want to know it , i won't pollute r with it , because i know
> what is r . : )
>
It's certainly permitted. Just look at all the overloadings of the "+"
operator in graphics packages. Look up the documentation on methods in
R.
Why not just use a well-behaved function, though?
.inc <- function(x) x+1
> .inc(10)
[1] 11
Then you won't be tempted to try 10 <- .inc(10) because it just
wouldn't make sense.
--
David.
> --
>
> PO SU
> mail: desolator88 at 163.com
> Majored in Statistics from SJTU
>
>
>
>
> At 2014-10-17 13:09:47, "Rolf Turner" <r.turner at auckland.ac.nz> wrote:
>> On 17/10/14 17:29, PO SU wrote:
>>>
>>> Dear expeRts,
>>> Now i want to know how to implement an Unary operator like i++
>>> in cpp's synax form.
>>> e.g. 2++ will let 2 be 3 , a<-2 ,a++ ,will let a be 3
>>> I tried this :
>>> '%++%'<-function(x){
>>> x<<-x+1
>>> }
>>> but it have problem, the biggest one is it seems the function need
>>> twoparams like a%++%b , how to write a function needing just one
>>> param?
>>>
>>> TKS !
>>
>> Just ***DON'T***. The "++" operator is useful only for those wish to
>> write code which is obscure to the point of incomprehensibility. It
>> makes C and its offspring "write only" languages.
>>
>> If you are going to use R, use R and don't pollute it with such
>> abominations.
>>
>> cheers,
>>
>> Rolf Turner
>>
>>
>> --
>> Rolf Turner
>> Technical Editor ANZJS
> ______________________________________________
> R-help at 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.
David Winsemius, MD
Alameda, CA, USA
More information about the R-help
mailing list