Я пытаюсь использовать ls () с переменными, которые я перенес в среду функции из родительской функции или из глобальной среды.Я видел это:
Как искать среду, используя ls () внутри функции?
И это:
rm(list = ls ()) не работает внутри функции.Почему?
Но у меня все еще есть эта проблема: мой вызов ls () не возвращает переменные assign , которые, как я знаю, находятся внутри среды этой функции.Я не пытаюсь получить глобальную среду, я хочу среду своей функции.Чего мне не хватает?
g = function() {
e = environment()
get("f",envir = parent.env(e))
print(f)
save(list=ls(envir = e),file = "U:/GitHub/FunctionDebug.RData")
}
h = function() {
g()
}
f <- 1
h()
[1] 1 # So I know that my variable is seen by the function!
Когда я вызываю загрузить файл обратно в мой Global Env, я получаю пустое пространство имен (кроме e, функциональную среду. Это происходит только для переменных, которые я назначилиз окружения другой функции. Почему?
load("U:/GitHub/FunctionDebug.RData")
> ls()
[1] "e"