Full_Name: John C. Deva
Version: 2.8.1
OS: Fedora Linux 8, 64 bit
Submission from: (NULL) (193.200.150.189)


I notice that it is possible to redefine 'if' as a function of an arbitrary
number of arguments.  Such redefined 'if' can then be used as any other user
function, except for that the parser still demands exactly three arguments to be
given to if.  Furthermore, even if 'if' is defined with three arguments, its
application must still be made with the original syntax, and not the usual
syntax of function application:

> `if` <- function(a,b,c) 
+ {
+ assign(deparse(substitute(a)), b+c, envir=parent.frame()
+ }

> if (x) 1 else 2
> x
[1] 3

> if(x, 1, 2)
Error: unexpected ',' in "if(x,"

The later expression above should be the only valid when 'if' is redefined as
above, but it is not the case.

Sincerely,
John C.

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to