2016-11-07 93 views
2

我目前移植从Java到朱莉娅的算法,现在我也碰到过,我不得不继续从内环外环当某些条件得到满足的一部分:朱莉娅 - 继续外环

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

我在这个主题上发现了一些关于GitHub的问题,但似乎只是关于它的讨论,并没有解决方案。有没有人知道如何在朱莉娅做到这一点?

回答

5

正如在其他一些语言朱莉娅使用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 

直从朱文档http://docs.julialang.org/en/release-0.5/manual/control-flow/

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

+1

我想删除我的然后... –