R:查看局部变量
我想问一下函数h如何能看到函数g中定义的变量v1。h和g都在f中定义。我认为解决方案是定义环境e1,并将v1放在那里。 但这不起作用,我在运行ls(e1)时得到字符(0),我不知道为什么R:查看局部变量,r,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()
e1 <- new.env()
f <- function(){
g <- function(){
e1$v1 <- 5
}
h <- function(){
print(e1$v1)
}
h()
}
f()
e1您从未实际运行函数g()
。尝试在h()之前添加g()
(虽然,为了将来发现这个问题的人们的利益,我觉得有必要补充一点,这类东西,它与R的自然范围行为相抵触,是一种危险的东西,值得玩弄。所以要小心!)