Wacek Kusnierczyk wrote:
>
> it's a pity that <<- is not explained in ?`<<-` clearly enough:
>
> " The operators '<<-' and '->>' cause a search to made through the
> environment for an existing definition of the variable being
> assigned. If such a variable is found (and its binding is not
> locked) then its value is redefined, otherwise assignment takes
> place in the global environment. Note that their semantics differ
> from that in the S language, but are useful in conjunction with
> the scoping rules of R. See 'The R Language Definition' manual
> for further details and examples."
>
>
the description is further imprecise as to what happens if such a
variable is found but is locked:
foo = function() {
x = 0
lockBinding("x", environment())
(function() x <<- 1)()
unlockBinding("x", environment())
}
foo()
# error
if analysed logically (IF (found AND not locked THEN assign) ELSE assign
globally), the description is wrong.
vQ
______________________________________________
[email protected] 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.