[R] If statement generates two outputs

Thomas Lumley tlumley at u.washington.edu
Tue Mar 24 10:36:00 CET 2009


On Tue, 24 Mar 2009, Wacek Kusnierczyk wrote:

> thanks.  so it seems to be intentionally parsable, though i wouldn't say
> that this gives a meaning to ':=' -- the operator has a syntactic
> category, but no semantics.  the syntactic category does not imply any
> semantics, as in
>
>    '<-' = function(a, b) NULL
>    1 <- a
>    # NULL
>
> where '<-' is still parsed the original way (as a LEFT_ASSIGN, gram.y
> again), but has now a completely different semantics.
>
> it looks like a bug to me:  ':=' is parsed on par with '<-' as a
> LEFT_ASSIGN, but apparently is not backed by any function.  it's a
> zombie.  (unless rvalues is used, that is.)

yes, it's a zombie. It used to assign to the R system environment rather than the global workspace (roughly what is the base namespace now).


     -thomas

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle




More information about the R-help mailing list