Как использовать значение, не входящее в область действия функции? - PullRequest
0 голосов
/ 05 февраля 2019

Как получить доступ к переменным, определенным вне области действия функции.

foo <- "bar"

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

Я должен быть в состоянии напечатать "bar"

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Ваш код работает так, как написано:

foo <- "bar"

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

f()
#[1] "bar"

Конечно, не стоит полагаться на область видимости.Вместо этого вы должны передать переменные в качестве параметров функции.

0 голосов
/ 05 февраля 2019

Вы можете использовать get():

foo <- "bar"

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

> test()
[1] "bar"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...