簡體   English   中英

R是否具有與python,C中的main函數類似的東西?

[英]Does R have something similar to main function as in python, C?

我正在尋找一種更好的方法來組織我的R代碼。 理想情況下,我希望

  • 將所有輔助功能放在腳本的末尾。 它將幫助我專注於代碼的主要部分,而不會被腳本開頭的大量輔助函數分心。
  • 允許每個變量僅存在於特定范圍內。 例如,如果我不小心為某些變量賦值,我不希望這些變量被后面定義的函數拾取並弄亂。

在Python中,這兩個目標可以通過以下方式輕松實現:

def main():
...

def helper_func(x,y):
...

if __name__ == '__main__':
    main()

R有可能嗎? 如果不可能,有什么建議讓它與此類似?

對你的兩點:

1)由於腳本以命令行方式從上到下運行,因此放在腳本底部的任何內容都不可用於在其上運行的行。 您可以將輔助功能放在不同的文件中,並將其源於“主”文件的頂部。

2)在函數中完成的任何事情都將被遺忘:

> a = 2
> f = function(x) x <- x + 2
> b = f(a)
> b
[1] 4
> a
[1] 2

或者,您可以指定要在任何位置使用的環境:

> CustomEnv = new.env()
> assign("a", 2, envir = CustomEnv)
> a = 3
> a
[1] 3
> get("a", CustomEnv)
[1] 2

有關詳細信息,請參閱?environment

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM