対象:
Swift

ネストが深いループから一気に抜け出す(Swift)

ネストが深いループから一気に抜け出す場合、それがメソッドであればreturnしてしまったり、あるいはフラグを立てて複数のループを抜けたりするだろう。Swiftの場合にはラベル付きステートメント(Labeled statement)とbreakで簡単に深いネストのループから一気に抜け出すことができる。

        // ラベル付きステートメント
        outside: for i in 0..<3 {
            for j in 0..<3 {
                print("i = \(i) j = \(j)")
                if i > 0 {
                    // 外側のforをbreak
                    break outside
                }
            }
        }

このコードの実行結果は以下だが、iが1になったところでoutsideラベルが付いた外側のforまで一気にbreakしている。

i = 0 j = 0
i = 0 j = 1
i = 0 j = 2
i = 1 j = 0
(2015/02/06)
() ループをFor文→For-In文に修正。

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]