如何访问功能的范围定义的变量。
foo <- "bar"
f <- function(){
print(foo)
}
我应该能够打印“栏”
您可以使用get()
:
foo <- "bar"
test <- function(){
print(get("foo", envir = .GlobalEnv))
}
> test()
[1] "bar"
您的代码工作写成:
foo <- "bar"
f <- function(){
print(foo)
}
f()
#[1] "bar"
当然,这不是依靠作用域很好的做法。而是应该通过变量作为函数的参数。