Labeled Loop
Swiftではfor文にラベルを付ける事がことができる。
ラベル指定してbreak
やcontinue
できるため、簡潔に書く事が可能。
下の例ではネストしたfor文の中で、直接親元(blackList
)をbreak
している:
var blacks = ["chocolate", "blackberry", "coffee", "blackphone"]
var whites = ["milk", "white-chocolate", "snow"]
blackList: for black in blacks {
whiteList: for white in whites {
if white.characters.count - black.characters.count >= 8 {
break blackList
}
print("\(black) / \(white)")
}
}
実行結果:
chocolate / milk
chocolate / white-chocolate
chocolate / snow
blackberry / milk
blackberry / white-chocolate
blackberry / snow
coffee / milk