如何在功能范围内使用的值不?

问题描述 投票:0回答:2

如何访问功能的范围定义的变量。

foo <- "bar"

f <- function(){
  print(foo)
}

我应该能够打印“栏”

r global-variables
2个回答
4
投票

您可以使用get()

foo <- "bar"

test <- function(){
  print(get("foo", envir = .GlobalEnv))
}

> test()
[1] "bar"

3
投票

您的代码工作写成:

foo <- "bar"

f <- function(){
  print(foo)
}

f()
#[1] "bar"

当然,这不是依靠作用域很好的做法。而是应该通过变量作为函数的参数。

© www.soinside.com 2019 - 2024. All rights reserved.