R: просмотр локальных переменных - PullRequest
0 голосов
/ 12 февраля 2012

Я хотел бы спросить, как функция h может видеть переменную v1 , определенную в функции g . И h, и g определены в f . Решение, которое я думал, состоит в том, чтобы определить среду e1 и поместить туда v1. Но это не работает, я получаю символ (0), когда я запускаю ls (e1), и я не знаю почему.

e1 <- new.env()
f <- function(){
    g <- function(){
        e1$v1 <- 5
    }
    h <- function(){
        print(e1$v1)
    }
    h()
}
f()

Заранее спасибо

1 Ответ

2 голосов
/ 12 февраля 2012

Вы никогда не запускаете функцию g().Попробуйте добавить g() непосредственно перед h().

(Хотя я чувствую себя вынужденным добавить, для пользы людей, которые найдут этот вопрос в будущем, что подобная вещь, которая работает против естественного поведения области видимости R, опасна, чтобы играть с ней.Так что будь осторожен!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...