【发布时间】:2016-01-28 18:33:19
【问题描述】:
我已经使用 R 4 个月了,我真的希望有一种方法可以像在其他语言(C++、Python...)中一样使用 main 函数
我想这样做的主要原因是我在 R 脚本中使用的所有变量都是全局变量,可能会污染我在同一脚本中定义的函数的命名空间:
f <- function(x) {
x + a
}
a <- 50
f(5)
对我来说,这只是个人喜好。我是一个草率的程序员,我想防止自己犯愚蠢的错误。
我当然可以定义main <- function() {},但我想知道是否有类似的东西:
if __name__ == "__main__":
main()
(在这个Python脚本中,如果函数名是main,则运行main()调用主函数。)
【问题讨论】:
-
不懂python的朋友,
if __name__ == "__main__": main()是做什么的? -
听起来对全局变量的依赖是问题所在。我可以建议重新考虑一下吗?替代方法是在适当的时候设置全局选项,并在函数参数中传递值。
-
@Alex:当我与他人合作时,我不希望他们花时间仔细阅读我的每一行代码并在他们的代码中采取预防措施。 ——换句话说,我不能指望其他人不那么马虎,我不怪他们,因为他们不应该这样做。我不认为 R 是一种非常面向对象的编程语言......现在,我可以确保我只使用局部变量并在我的函数中传递参数。我希望我能做得比这更好
标签: r main interactive