Function does not see variables outside the function
Dear Zhong-Yuan Zhang, R is lexically scoped. Pretending that you're using a different programming language is probably a bad idea. The findGlobals() function in the codetools package, which is part of the standard R distribution, can help you locate references to global variables (and functions) in a function. For example,
f <- function() g(a)
findGlobals(f)
[1] "a" "g"
ff <- function() {a <- 10; g(a)}
findGlobals(ff)
[1] "{" "<-" "g"
fff <- function(a) g(a)
findGlobals(fff)
[1] "g" I hope this helps, John
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
project.org] On Behalf Of Zhong-Yuan Zhang
Sent: Wednesday, November 06, 2013 7:32 AM
To: r-help at r-project.org
Subject: Re: [R] Function does not see variables outside the function
Dear Experts:
I am very appreciate your comments and help!
Actually I am a new comer from MATLAB. If the function
can see global variables, then it may output wrong results without
any error messages. For example, there is a gloabl variable named
v, and I write one funciton with one local variable x. However, in some
line,
I misspelled x to v, which would results in unexpected errors without
warning.
In summary, I want to disable the ability to make debugging easier.
Best.
2013/11/5 Carl Witthoft <carl at witthoft.com>
Why would you want to impose this restriction? Perhaps if you
explain what
you are trying to do, we can suggest approaches that will satisfy
your
specific needs. (note- one can always redefine whatever variables are to be
"excluded."
E.g. to keep the body of a function from referring to 'foo' in the calling environment, just add the line 'foo<-NA' inside the function) Zhong-Yuan Zhang wrote
In MATLAB, functions cannot see variables outside the functions. However, in R, the functions can do that. Is there any settings that can disable this ability of functions?
______________________________________________
R-help@
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.
-- View this message in context: http://r.789695.n4.nabble.com/Function-does-not-see-variables-
outside-the-function-tp4679762p4679768.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.
-- Zhong-Yuan Zhang (PhD.) Associate Professor School of Statistics Central University of Finance and Economics 39 South College Road, Haidian District, Beijing, P.R.China 100081 Email: zhyuanzh at gmail.com Homepage: http://en.stat.cufe.edu.cn/zhongyuanzhang/ [[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.