On 13-06-24 9:22 PM, David Kulp wrote:
Indeed, I misread / misunderstood. I think it's a difficult concept that's hard to explain and the example wasn't great. But thanks all for straightening me out!
It seems like a really natural definition to me, but I'm used to it. Once you get used to it you'll probably find it quite easy too.
It may be helpful not to worry about the technical details, just to look at the source code defining the function: if it is defined in a place where a variable can be seen, it can see that variable.
Duncan Murdoch
— David Kulp On Mon, Jun 24, 2013 at 6:44 PM, Duncan Murdoch <murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>> wrote: On 13-06-24 4:27 PM, David Kulp wrote: > According to http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-scope.pdf and other examples online, I am to believe that R resolves variables using lexical scoping by following the frames up the call stack. You appear to have misread it. Lexical scoping follows the chain of environments where functions were defined. It ignores the call stack. Duncan Murdoch However, that's not working for me. For example, the following code, taken from the reference above fails instead of returning 7. What am I doing wrong? Thanks! > > f <- function(x) { a<-5; g(x) } > g <- function(y) { y + a } > f(2) > Error in g(x) : object 'a' not found > > > [[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. >
______________________________________________ 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.