R相当于Python的导入机制

2024-04-24 05:41:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在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中有没有一种方法可以在不污染全球环境的情况下“导入”其他文件中的用户定义函数?你知道吗

我想写一个R包可能会缓解这个问题,但在我看来,写一个完整的包是不值得的。你知道吗


Tags: 模块文件方法pyimport功能source环境
1条回答
网友
1楼 · 发布于 2024-04-24 05:41:08

如果导入两个具有相同函数名的库,则可以使用libraryname::function(...)。你知道吗

这不会解决您的问题,但会确保您使用的是正确库中的正确函数。你知道吗

相关问题 更多 >