gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:32:01 25 4
gpt4 key购买 nike

我正在寻找一种更好的方式来组织我的 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更多细节

    关于r - R 是否具有类似于 Python、C 中的 main 函数的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256683/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com