On Wed, 26 Apr 2006, Romain Francois wrote:

> Hi,
>
> Consider the code :
>
> g <- function(){
>  print(.x)
> .x <- 3
> }
>
> f <- function(){
>  environment(g) <- environment()
>  .x <- 2
>  g()
>  .x
> }
>
> > f()
> [1] 2
> [1] 2
>
>
> I would like f() to return 3. How can I do that ? Am I completely out of
> place ?
> Doing that, I want to avoid to pass .x as a parameter in f, because in
> real life .x is pretty big and g() is called over and over in a loop.
>

As long as .x doesn't get modified it probably won't be copied, so this is 
unlikely to make any difference to memory use even if you work out how to 
do it.

        -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]       University of Washington, Seattle

______________________________________________
[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

Reply via email to