R:查看局部变量

时间:2012-02-11 20:59:04

标签: r

我想问一下函数 h 如何看到函数 g 中定义的变量 v1 。 h和g都在 f 中定义。我认为解决方案是定义环境 e1 并将v1放在那里。 但这不起作用,当我运行ls(e1)时我得到字符(0),我不知道为什么。

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

提前谢谢

1 个答案:

答案 0 :(得分:2)

您实际上从未运行过g()函数。尝试在g()之前添加h()

(虽然,我觉得有必要补充一点,为了人们在将来找到这个问题的好处,这种东西,再次起作用R的自然范围行为是一个危险的事情可以玩。所以要小心!)