Are*_*lis 10 function code-structure julia
是否有一种现成的或惯用的方式来声明Julia程序中的入口点(即相当于mainC或if __name__ == "__main__"Python中的构造)?
这似乎是一个重要的功能,以便编写不会在交互模式下使用的更大的结构化代码,但我找不到任何关于如何在Julia中实现这一点的提示,如果有的话(可能的逃生途径)可能正在编写一个任意函数作为服务main,然后在主模块末尾的顶层调用它一次,但这不优雅,甚至可能效率不高).TIA.
您可以编写一个main函数,而不是从文件的顶层调用它.要从您将使用的命令行运行该程序julia -L file.jl -e 'main(some,args)'.该-L开关告诉Julia加载您的文件,然后-e告诉它评估以下表达式.还有一个-E评估和打印的开关(我认为它是"大声评估",因为大写字母似乎"响亮").
这比C main或Python 有几个优点if __name__ == "__main__":
您不必拥有一个入口点!您可以在加载文件后评估任何表达式,因此您不必将所有命令行功能都塞入一个函数中.
您编写的调用使用完整的Julia语法,因此通常可以避免解析参数.Soemthing像-e main(53)电话main与整数 53,无需atoi内部main.