I'm not sure if this is a known peculiarity or a bug, but I stumbled across 
what I think is very odd behavior from delayedAssign. In the below example x 
switches values the first two times it is evaluated.

> delayedAssign("x", {x <- 2; x+3})
> x==x
[1] FALSE

> delayedAssign("x", {x <- 2; x+3})
> x
[1] 5
> x
[1] 2

The ?delayedAssign documentation says that "after [evaluation], the value is 
fixed and the expression will not be evaluated again." However, this appears 
not to be true. Is this a bug, or just a good way to write extremely obfuscated 
code?

Robert McGehee, CFA
Geode Capital Management, LLC
One Post Office Square, 28th Floor | Boston, MA | 02109
Direct: (617)392-8396

This e-mail, and any attachments hereto, are intended fo...{{dropped:14}}

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

Reply via email to