function - 在 Julia 中声明主函数/入口点

标签 function julia code-structure

是否有现成的或惯用的方法来声明 Julia 程序中的入口点(即相当于 C 中的 mainif __name__ == "__main__"在 Python 中构造)?

这似乎是一个重要的功能,以便编写较大的结构化代码,这些代码不会在交互模式下使用,但我找不到任何关于如何在 Julia 中实现这一点的提示,如果有的话(a可能的逃逸路线可以是编写一个任意函数作为 main ,然后在主模块末尾的顶层调用它一次,但这并不优雅,甚至可能效率不高。 TIA。

最佳答案

您可以编写一个 main 函数,并且从文件的顶层调用它。要从命令行运行该程序,您可以使用 julia -L file.jl -e 'main(some,args)' 。 -L 开关告诉 Julia 加载您的文件,然后 -e 告诉它计算以下表达式。还有一个用于计算和打印的 -E 开关(我认为它是“大声计算”,因为大写字母看起来“大声”)。

与 C 的 main 或 Python 的 if __name__ == "__main__" 相比,这有几个优点:

  1. 您不必有一个入口点!您可以在加载文件后计算任何表达式,因此您不必将所有命令行功能塞进一个函数中。

  2. 您编写的调用使用完整的 Julia 语法,因此您通常可以避免解析参数。像 -e main(53) 这样的东西用 integer 53 调用 main ,不需要 atoi 内的 >主要

关于function - 在 Julia 中声明主函数/入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923726/

相关文章:

javascript - 在 foreach 循环内调用 javascript 函数,等待回复?

julia - 您如何*获得* Julia 中BLAS 操作的线程数?

python - 干净地处理多个变量的类型错误

python - 如何处理 Pylint 的 "too-many-instance-attributes"消息?

javascript Filter数组在特定出现处具有重复元素

javascript - 连接函数 onclick 和 onkeyup

Javascript - 如何将匿名方法作为变量调用并访问其属性和方法?

julia - 在 Julia 中实现多元牛顿法

azure - tar : julia-xxx: Cannot create symlink to xxx: Operation not supported

import - 如何在dm脚本中导入其他源代码文件