r - 读取全局变量
问题描述
我能找到的只是如何写入全局变量,而不是如何读取它们。
错误代码示例:
v = 0;
test <- function(v) {
v ->> global_v;
v <<- global_v + v;
}
test(1);
print(v);
这会产生2
因为v ->> global_v
将其视为等于 1v
的局部变量。我可以用什么替换该行以从全局获取 0 ?v
global_v
v
我当然是在询问与“使用不同的变量名”不同的解决方案。
解决方案
您可以使用在全局环境而不是函数中with(globalenv(), v)
进行评估。从它的第一个参数构造一个环境,并评估该环境中的后续参数。返回全局环境。将它们放在一起,您的功能将变为:v
with
globalenv()
test <- function(v) {
v <<- with(globalenv(), v) + v;
}
推荐阅读
- pbs - 如何清除 PBS 工作历史
- ios - iOS 在导航堆栈中的视图控制器之间循环
- javascript - 字符串与前缀匹配
- javascript - 使用下一个和上一个图像箭头进行导航的 JS/jQuery 数组循环缩略图
- kotlin - Kotlin 通用设置函数
- git - git用vscode“无法将对象迁移到永久存储”是什么意思
- sql - SQL 从所有列都等于值的表中选择
- vb.net - 将 datagridview 值传递给带有 vb.net 格式的消息框
- javascript - 点击功能无法与 codeigniter anchor() 一起正常工作
- react-native - 将图像从 React Native 上传到 LoopBack