Global variables
On 02/05/2011 7:19 AM, abhagwat wrote:
Well, what would be really helpful is to restrict the scope of all non-function variables, but keep a global for scope of all function variables. Then, you still have access to all loaded functions, but you don't mix up variables. How would one do that?
You can't without low level modifications. Before R has done the lookup, it doesn't know if an object is a function or not. It can guess by usage, e.g. it can recognize that "print" should be a function in print(1) and it will ignore non-functions named "print", but it is very common in R code to do things like fn <- print fn(1) and that would fail. But if you want to experiment with the change, you can, because R is open source. I doubt if you'll get much help unless you give a really convincing argument (on the R-devel list, not on this list) why to make the change. Duncan Murdoch
Adi
Is there a way I can prevent global variables to be visible within my functions?
Yes, but you probably shouldn't. You would do it by setting the environment of the function to something that doesn't have the global environment as a parent, or grandparent, etc. The only common examples of that are baseenv() and emptyenv(). For example, x<- 1 f<- function() print(x) -- View this message in context: http://r.789695.n4.nabble.com/Global-variables-tp3178242p3489796.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.