在Python中,假设我们有:
lib.py:
def myFunction():
...
main.py:
import lib
lib.myFunction()
以便myFunction
位于模块lib
中,并且不会污染全局环境。
但是,在R中,要使用myFunction
:
lib.R:
myFunction <- function(...) {...}
main.R:
source("lib.R")
myFunction()
以便myFunction
在全球环境中。如果lib.R
具有其他功能,则所有这些功能都将被灌输到全局环境中,这是非常不受欢迎的。
我的问题是:R中有没有办法来&#34;导入&#34;其他文件中的用户定义函数,不会污染全局环境?
我想编写一个R包可能会缓解这个问题,但就我而言,写一个完整的软件包是不值得的。
答案 0 :(得分:0)
如果导入两个具有相同功能名称的库,则可以使用libraryname::function(...)
。
这不会解决您的问题,但会确保您使用正确库中的正确功能。