understanding lexical scope
2008/12/18 <joseph.g.boyer at gsk.com>:
I am trying to understand the concept of lexical scope in "An Introduction
to R" by the R Core development team.
I'd appreciate it if someone would explain why the following example does
not work:
q <- function(y) {x + y}; w <- function(x){q(x)}; w(2);
According to the discussion of Scope on page 46, it seems to me that R
will interpret the free variable x in q as the parameter x in w,
Why? R will look at the enclosing environment, which here is the workspace. Maybe you meant:
w <- function(x){ q <- function(y) x+y; q(x)}; w(2)
which works as you said. HTH, Antonio.
and so
will
give w(2) = 2+2.
Joe Boyer
Statistical Sciences
Renaissance Bldg 510, 3233-D
Mail Stop RN0320
8-275-3661
cell: (610) 209-8531
[[alternative HTML version deleted]]
______________________________________________ R-help at 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.
Antonio, Fabio Di Narzo Ph.D. student at Department of Statistical Sciences University of Bologna, Italy