R项目结构和可变范围

时间:2019-02-07 23:36:34

标签: r

这可能适用于其他语言,而不仅限于R语言,但是我在尝试构建R项目时遇到了这个问题,所以我在这里发布。

比方说我的项目中有

- Main.R
- Utilities.R

和在Utilities.R中

# Utilities.R
foo <- function(save_path) {
  print(save_path)
}

在Main.R中,我有

# Main.R
source("Utilities.R")

save_path <- "path/to/folder"

foo(save_path = save_path)

但是,我发现我实际上根本不需要将save_path设置为参数。如果我将文件设置为

# Utilities.R
foo <- function() {
  print(save_path)
}
# Main.R
source("Utilities.R")

save_path <- "path/to/folder"

foo()

由于save_path存在于Main.R的范围内,所以我可以获得相同的结果。这是不好的做法吗?假设我在Main.R中有很多在foo()中设置/确定的类似全局的变量,最好是显式地传递所有这些变量吗?

0 个答案:

没有答案