【发布时间】:2018-03-24 15:29:50
【问题描述】:
我正在使用
sapply(list.files('scritps/', full.names=TRUE),source)
在“scripts/”文件夹中一次运行 80 个脚本,我不知道它是如何工作的。在脚本中存在同样命名的“中间”对象(它们是跨 80 个不同生物种群的迭代脚本)。每个脚本是否只使用自己的对象?脚本是否有任何风险将尚未从内存中删除的其他“先前”脚本的对象,或者这个过程的工作方式与手动顺序运行时完全一样吗? 非常感谢。
【问题讨论】:
-
你读过
local参数source吗? -
我明白了...我应该使用 local = T 为每个脚本使用它自己的特定环境,不是吗?
-
@MartinSchmelzer 我怀疑这与
local参数有什么关系...它确定解析表达式的评估环境(全局或本地),但 OP 正在运行source相同的环境。 -
是的,他的问题是对一个脚本的评估是否会影响另一个脚本。所以使用
local来确保每个脚本都来源于它自己的环境....... -
@MartinSchmelzer 脚本没有自己的环境,是吗?要使“每个脚本都源自其自己的环境”,必须创建与this thread 所建议的脚本编号一样多的环境。我看不出它如何更有效,或者更重要的是,它如何回答“一个脚本的评估是否会影响另一个脚本”本身的问题。
标签: r