[R] A question regarding R scoping

Ivo Shterev idc318 at yahoo.com
Thu Aug 6 22:11:08 CEST 2009


Hi,

The intention is that after executing f2, the value of i to become 1.

f1 = function(i){i = 1}

f2 = function(n){  i = length(n)
f1(i)
print(i)}

i.e. f2 should print 1, not length(n).

ivo


--- On Thu, 8/6/09, Steve Lianoglou <mailinglist.honeypot at gmail.com> wrote:

> From: Steve Lianoglou <mailinglist.honeypot at gmail.com>
> Subject: Re: [R] A question regarding R scoping
> To: "Ivo Shterev" <idc318 at yahoo.com>
> Cc: r-help at r-project.org
> Date: Thursday, August 6, 2009, 3:07 AM
> Hi,
> 
> On Aug 5, 2009, at 5:55 PM, Ivo Shterev wrote:
> 
> > I have a question related to scoping. Suppose we have
> 2 functions:
> > 
> > f1 = function(i){i = 1}
> > 
> > f2 = function(n){
> > i = length(n)
> > f1(i)
> > }
> > 
> > In other words, I would like i=1 regardless of n. Is
> this possible without having f1 in the body of f2? Thanks in
> advance!
> 
> Uhm ... what? You want i = 1 where, exactly? You want to
> call to f1(i) to set i to 1 in f2?
> 
> Sorry, I don't really follow. Can you be a bit more
> explicit?
> 
> -steve
> 
> --
> Steve Lianoglou
> Graduate Student: Computational Systems Biology
>   |  Memorial Sloan-Kettering Cancer Center
>   |  Weill Medical College of Cornell University
> Contact Info: http://cbio.mskcc.org/~lianos/contact
> 
> 







More information about the R-help mailing list