我目前正在将算法从Java移植到Julia,现在遇到一个部分,当满足某些条件时,我必须从内部循环继续外部循环:

 loopC: for(int x : Y){
            for(int i: I){
                if(some_condition(i)){
                    continue loopC;
                }
            }
        }

我已经在GitHub上找到了有关此主题的一些问题,但似乎只有关于它的讨论,尚无解决方案。有人知道在 Julia 中如何做到这一点的方法吗?

最佳答案

与其他语言一样, Julia 为此使用break:

for i in 1:4
    for j in 1:4
        if j == 2
            break
        end
    end
end

每当j为2时就会跳出内循环

但是,如果您需要退出外部循环,可以像这样使用@goto和@label
for i in 1:4
    for j in 1:4
        if (j-i) == 2
            @goto label1
        end

        if j == 2
            @goto label2
        end
        do stuff
    end
    @label label2
end
@label label1

直接来自julia docs http://docs.julialang.org/en/release-0.5/manual/control-flow/

关于 Julia -继续外循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40469007/

10-14 16:17