【问题标题】:named loops in JuliaJulia 中的命名循环
【发布时间】:2018-10-18 15:19:00
【问题描述】:

在 Fortran 中有命名循环,但我在 Julia 中没有找到这个函数。有没有办法做命名循环?以便编译器检查结束语句是否对应于正确的循环开始? 谢谢帮助

例如:

counting: for i = 1:5  
    println(i)  
end counting

【问题讨论】:

    标签: loops julia


    【解决方案1】:

    不,这不是一项功能,而是编译器跟踪嵌套循环以允许嵌套结束语句。此外,该语言还有 break、continue 和 try/catch 功能,通常更容易完成命名循环在 Fortran 中通常所做的事情。省略带有嵌套循环的嵌套 end 语句将导致编译器产生语法错误。

    https://docs.julialang.org/en/v1/manual/control-flow/index.html#man-loops-1

    【讨论】:

    • 但是我怎么知道哪个 end 语句属于哪个循环而不是计算它嵌套了多少?如果我的循环比屏幕长,我需要一直向上搜索。所以是的,朱莉娅跟踪每个循环都有一个相应的结束。我想要的是在 end stuff1 end end stuff2 这样的情况下的可读性,以便我能够立即查看 stuff2 是否在正确的位置或例如在函数之外(函数结束后)。
    • 我以前在 C 中所做的就是注释我的结束括号。最近我有一个编辑器,在窗口左侧用从“for”到“end”的窄线括号标记所有此类语句,这通常足以显示缺失的结尾在哪里。我同意编译器错误报告可能会根据您的标签将代码标记为错误的循环结束是一个很好的 Fortran 功能:)
    猜你喜欢
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多