假设我有一个函数:
f <- function() {
x + 1
}
Here x
是一个自由变量,因为它的值未在函数内定义f
。
有没有一种方法可以获取变量名称,例如x
,从定义的函数,说f
?
我在维护别人旧的 R 代码的同时问这个问题。使用了很多自由变量,这使得调试变得困难。
也欢迎任何建议。
The 代码工具 http://cran.r-project.org/web/packages/codetools/index.html包具有用于此目的的功能,例如findGlobals
findGlobals(f, merge=FALSE)[['variables']]
# [1] "x"
如果我们重新定义函数以具有命名参数x
那么就不会返回任何变量。
f2 <- function(x){
x+1
}
findGlobals(f2, merge=FALSE)[['variables']]
# character(0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)