测试是否在 R 模块中

Test if in a R module

我正在探索 R 模块 https://cran.r-project.org/web/packages/modules/vignettes/modulesInR.html,我想知道是否有一种方法可以检查模块内的函数是否 运行(请注意,不仅是定义,而且 运行在模块内)。

我的用例是我有一个脚本,有时我将其作为普通 R 脚本来源,有时作为带有 modules::use() 的模块来源。我想将包加载包装在这个脚本中,如果正常调用则使用 library,如果 运行 则使用 modules::import() 到模块中。

找到了 modules 覆盖库函数的方法:

environmentName(environment()) == "modules:root"

在定义函数的环境中调用,而不是在函数本身中调用。