[R] Superassignment (<<-) and indexing

Spencer Graves spencer.graves at pdf.com
Sat Sep 3 00:28:49 CEST 2005


	  Wow!  That's great.  Thanks.  spencer

Thomas Lumley wrote:

> On Fri, 2 Sep 2005, Spencer Graves wrote:
> 
>>       Permit a mild protest on the word "appropriate" in this 
>> context.  The
>> global assignment operator "<<-" provides, for my tastes, excessive
>> opportunities for problems.  If I define "x" someplace else and then
>> call your function, it may change my "x" in ways that generate
>> considerable wailing and gnashing of teeth.
> 
> 
> No, no, no.
> 
> The sensible and appropriate uses of <<- involve modifying a variable 
> that already exists in the lexical parent environment.  In these cases 
> it can't escape and ravage the calling environment.
> 
> Certainly using <<- to assign to the calling environment is bogus.  In 
> addition to your complaints, it doesn't even work (except from the 
> global environment), since <<- searches the lexical stack rather than 
> the call stack.
> 
> In R, <<- can be used safely to maintain state inside a function or 
> shared between a set of functions (as in demo(scoping), or 
> demo(tkdensity)). In S-PLUS it is admittedly harder to come up with good 
> uses.
> 
>     -thomas

-- 
Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA

spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel:  408-938-4420
Fax: 408-280-7915




More information about the R-help mailing list