[R] right assignment ("->") and functions

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Jun 23 06:28:02 CEST 2003


On Mon, 23 Jun 2003, Robin Hankin wrote:

> Hi everyone
> 
> check this out [R-1.7.0]:
> 
> R> f1 <- function(x){x^2}
> R> f1 -> f2
> R> f2(4)
> [1] 16
> R> 
> R> function(x){x^2} -> f3
> function(x){x^2} -> f3
> R> f3(4)
> Error: couldn't find function "f3"
> 
> Why does right assignment "->" work in the first but not the second
> case?  Can anyone else reproduce this?

Because the second is equivalent to 

function(x) f3 <- {x^2}

an anonymous function.  Using a right assignment affects the direction of
parsing, but only after it is encountered and R is parsed left to right.


-- 
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