确保函数不使用全局变量

Ela*_*663 5 scope r

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

Mar*_*ann 5

还有一个功能,findGlobalscodetools包中。也许这是有帮助的:

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

foo()
[1] "global"

findGlobals(foo)
[1] "x"
Run Code Online (Sandbox Code Playgroud)