Hi -

I'm having a really hard time w/understanding R's get function, and would
appreciate any help with this.

Specifically, I'm using a for loop to call a function.  I'd like the
function to have access to the variable being incremented in the for-loop,
i.e.

t.fn <- function() return( get( "i" ) )

t.fn2 <- function() {
for ( i in 1:5 )
     cat( t.fn(), "\n" )

}

However, I keep getting err msg's from the 'get' function about how it can't
find the 'i' variable.

I've tried various combinations w/in the get fn, i.e. passing inherits=T
(should be the default val according to R's help) and envir=sys.frame().

As I understand it, 'get' should search the enclosing environments, which I
assume would be the call-stack of the functions.  If not, could someone
clarify?

Thanks,

Peter

p.s.  when I define t.fn to be:

 t.fn<- function() {
    for ( j in sys.nframe():0 ) cat( j,":",ls( sys.frame( j ) ), "\n" )
}
and call that in t.fn2(), I do eventually see the 'i' variable, i.e.
> t.fn2()
2 : j
1 : i
0 : test t.fn t.fn2 t.fn3

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to