2016-11-07 137 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

我想刪除我的然後... –