【发布时间】:2021-04-24 16:29:15
【问题描述】:
我能找到的只是如何写入全局变量,而不是如何读取它们。
错误代码示例:
v = 0;
test <- function(v) {
v ->> global_v;
v <<- global_v + v;
}
test(1);
print(v);
这会产生2,因为v ->> global_v 将v 视为等于1 的局部变量v。我可以用global_v 替换该行以从全局v 中获取0 ?
我当然是在询问与“使用不同的变量名”不同的解决方案。
【问题讨论】:
-
可能有更好的方法来做到这一点,但你能用
with(globalenv(), v) ->> global_v之类的方法来替换函数的第一行吗?不过,在该行中使用<<-运算符似乎有点不必要。 -
这确实有效,谢谢。
->>只是我尝试读取全局变量,当您使用with(globalenv(), v)引用它时确实没有必要。
标签: r global-variables