朱莉娅 - 继续外循环

DP.*_*DP. 4 nested-loops julia

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

 loopC: for(int x : Y){
            for(int i: I){
                if(some_condition(i)){
                    continue loopC;
                }                   
            }
        }
Run Code Online (Sandbox Code Playgroud)

我在GitHub上发现了一些关于这个主题的问题,但似乎只有关于它的讨论,还没有解决方案.有谁知道如何在朱莉娅实现这一目标?

ise*_*arn 5

和其他一些语言一样,朱莉娅break用于此:

for i in 1:4
    for j in 1:4
        if j == 2
            break
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

只要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
Run Code Online (Sandbox Code Playgroud)

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

有时在测试条件被伪造之前终止重复一段时间或者在到达可迭代对象结束之前停止迭代for循环是方便的.这可以使用break关键字来完成