相关疑难解决方法(0)

使用R中的main函数

我已经使用R 4个月了,我真的希望有一种方法可以像其他语言一样使用"main"函数:C++,python ......

我想要的主要原因是我在R脚本中使用的所有变量都是全局变量,可能会污染我在同一个脚本中定义的任何函数,如下所示:

f <- function(x) {
  x + a
}
a <- 50
f(5)
Run Code Online (Sandbox Code Playgroud)

对我来说,这只是个人偏好.我是一个邋program的程序员,我想防止自己犯下愚蠢的错误.

我当然可以定义main < - function(){},但是有类似的东西

if __name__ == "__main__": 
    main()
Run Code Online (Sandbox Code Playgroud)

在python?所以我可以轻松运行脚本?(上面的代码表示:在这个脚本中,如果函数名是"main",则运行"main()",即调用main函数)

r

11
推荐指数
2
解决办法
7369
查看次数

if(interactive())是否等效于pythonic"if __name__ =="__ main__":main()"?

我希望R脚本具有在交互模式下执行的main()函数.但是在获取文件时不应执行main()函数.

已经有一个关于这个的问题,一个非常好的答案建议使用interactive()函数.然而,这对我不起作用.我没有足够的声誉点来评论或回答这个问题.所以我再次问这个问题.

我写这个 script_1.r

if(interactive()){
  your main code here
}
Run Code Online (Sandbox Code Playgroud)

如果我使用knitr来放弃html或pdf文档,那就是获取脚本.此代码if(interactive())不会被执行.这对我有好处,这就是我想要的.

我的问题是,如果我source("script_1.r")script_2.r交互模式,它仍将运行此if(interactive())部分下的代码.

python r

6
推荐指数
1
解决办法
1336
查看次数

R 是否具有类似于 Python、C 中的 main 函数的功能?

我正在寻找一种更好的方式来组织我的 R 代码。理想情况下,我希望

  • 将所有辅助功能放在脚本的末尾。它将帮助我专注于代码的主要部分,而不会被脚本开头的大量辅助函数分心。
  • 允许每个变量只存在于特定范围内。例如,如果我不小心为某些变量赋值,我不希望这些变量被定义在它们之后的函数获取并弄得一团糟。

在 Python 中,这两个目标可以通过以下方式轻松实现:

def main():
...

def helper_func(x,y):
...

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

在 R 中可能吗?如果不可能的话,有什么建议可以让它与此类似吗?

r

5
推荐指数
1
解决办法
1241
查看次数

标签 统计

r ×3

python ×1