确保函数不使用全局变量

时间:2014-01-20 22:56:37

标签: r scope

这可能与类似的问题有点相反。我希望R中止\警告如果在代码中的任何地方,函数在父环境中使用变量。是否有一些基本选项来实现这一目标?我想要一个通用的解决方案,而不是特定的检查。 谢谢。

1 个答案:

答案 0 :(得分:5)

findGlobals包中有一个函数codetools。也许这很有帮助:

library(codetools)
x <- "global"
foo <- function() x

foo()
[1] "global"

findGlobals(foo)
[1] "x"