Cómo acceder a variables definidas fuera del alcance de una función.

foo <- "bar"

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

Debería poder imprimir "barra"

0
Tumuluri V Datta Vamshi 5 feb. 2019 a las 09:19

2 respuestas

La mejor respuesta

Puedes usar get():

foo <- "bar"

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

> test()
[1] "bar"
4
LAP 5 feb. 2019 a las 06:23

Tu código funciona como está escrito:

foo <- "bar"

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

f()
#[1] "bar"

Por supuesto, no es una buena práctica confiar en el alcance. En su lugar, debería pasar variables como parámetros de función.

3
Roland 5 feb. 2019 a las 06:54