![]() |
1
36
如果我知道我需要一个由一些值参数化并重复调用的函数,我会使用闭包来避免全局函数:
这巧妙地避免了引用全局变量,而是为a和b使用函数的封闭环境。当调用fn2实例时,修改全局变量a和b不会导致意外的副作用。 |
![]() |
2
8
有些语言不允许全局变量是有原因的:它们很容易导致代码中断。 R中的作用域规则允许您以懒散的方式编写代码——让函数在其他环境中使用变量可以节省一些键入时间,并且对于在简单情况下进行操作非常有用。
在上述示例中: 最佳做法是使用fn1。 或者,试试类似的方法
|
![]() |
3
3
当您只是在函数中使用全局变量时,还是在尝试分配变量时,会出现问题?如果是后者,我怀疑是因为你没有使用
以难以在本地屏蔽的方式命名全局变量可能会有所帮助。例如。:
|
![]() |
4
0
大多数语言都不鼓励使用全局变量,R也不例外。通常短函数使用短的通用变量名,可以在全局环境中填充。最安全的做法是a)在函数定义中包含所有变量b) 不 |
|
Marc B. · 使用ggplot2创建条形图时“缺少值” 1 年前 |
|
Mallikarjun M · 如何使用随机森林进行时间序列预测? 1 年前 |
|
ly li · 模型摘要:当表格形状改变时,拟合优度消失 1 年前 |
![]() |
RoyBatty · 统计每个字符在整个数据集中出现的次数 2 年前 |
![]() |
stats_noob · R: 记录某个“行为”发生的循环的索引? 2 年前 |