【发布时间】:2010-07-18 22:43:25
【问题描述】:
我正在尝试编写一个函数,它限制了 R 变量的范围。例如,
source("LimitScope.R")
y = 0
f = function(){
#Raises an error as y is a global variable
x = y
}
我想测试变量环境,但不确定如何执行此操作。
原因
我向本科生教授 R。在他们最初的几个实践中,他们中的一些人总是忘记变量范围,所以他们提交的函数不起作用。例如,我总是得到类似的东西:
n = 10
f = function(x){
#Raises an error
#as I just source f and test it for a few test cases.
return(x*n)
}
我想要一个“关闭”范围的快速功能。正如您可以想象的那样,它不必特别强大,因为它只是为少数实用程序提供的。
【问题讨论】:
-
出于兴趣,为什么要这样做?
-
我在答案中添加了一个部分,说明我为什么要这样做。