gpt4 book ai didi

julia - 在 Julia 脚本中,您能否判断该脚本是否已导入或直接执行?

转载 作者:行者123 更新时间:2023-12-03 12:16:35 25 4
gpt4 key购买 nike

python中的一个常见约定是将脚本的主要功能结构如下,这样它既可以直接作为脚本运行,也可以不执行main()而导入。导入时:

def main():
do_stuff()

if __name__ == '__main__':
main()

是否有类似的变量在 Julia 中设置,以便脚本可以知道它是否是使用 require("script.jl" 导入的) 还是直接执行?

例如,假设我有两个脚本, a.jlb.jl ,以及 magic_function()其行为如下:

a.jl :
println("Did we execute a.jl directly? ", magic_function())

b.jl :
require("a.jl")

执行以下命令会导致...
> julia a.jl
Did we execute a.jl directly? true
> julia b.jl
Did we execute a.jl directly? false

是否具有类似 magic_function() 的功能是否存在于 Julia 的当前发行版中?

最佳答案

虽然 isinteractive()会让你辨别 REPL 是不是在命令行上运行/导入到其他代码中,没有办法获得与 Python 的 if __name__ == '__main__' 完全相同的功能。 .

这似乎不是计划作为一项功能。看到这个 discussion on the mailing list . (2013 年 6 月起)

关于julia - 在 Julia 脚本中,您能否判断该脚本是否已导入或直接执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462557/

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