Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
for-in / while / repeat-while
Swiftのループ処理には、コレクションを順に処理する『for-in』、条件が真の間繰り返す『while』、最低1回は実行する『repeat-while』の3種類があります。
構文
// for-in(コレクションの繰り返し)
for 変数 in コレクション {
処理
}
// stride(数値範囲の繰り返し)
for 変数 in stride(from: 開始値, to: 終了値, by: ステップ) {
処理
}
// while(条件が真の間繰り返す)
while 条件 {
処理
}
// repeat-while(最低1回実行)
repeat {
処理
} while 条件
構文一覧
| 構文 | 概要 |
|---|---|
| for i in 0..<5 | 0から4まで(終端を含まない半開範囲)繰り返します。 |
| for i in 0...4 | 0から4まで(終端を含む閉範囲)繰り返します。 |
| for _ in 範囲 | 変数が不要なときに『_』で無視します。 |
| stride(from:to:by:) | ステップ幅を指定した繰り返しです。負の値で逆順にもなります。 |
| stride(from:through:by:) | 終端を含む繰り返しです。 |
| for (index, value) in array.enumerated() | インデックスと値を同時に取得します。 |
サンプルコード
// 配列の繰り返し
let fruits = ["りんご", "みかん", "ぶどう"]
for fruit in fruits {
print(fruit)
}
// インデックスと値を同時に取得
for (i, fruit) in fruits.enumerated() {
print("\(i + 1)番目: \(fruit)")
}
// stride で2ずつカウントアップ
for n in stride(from: 0, to: 10, by: 2) {
print(n, terminator: " ") // 0 2 4 6 8
}
print()
// while ループ
var count = 3
while count > 0 {
print("カウント: \(count)")
count -= 1
}
// repeat-while(条件に関わらず最低1回実行)
var num = 0
repeat {
print("repeat: \(num)")
num += 1
} while num < 3
概要
Swiftには従来の『for (var i = 0; i < n; i++)』のようなC言語スタイルのfor文はありません。数値の範囲を扱う場合は範囲演算子(『0..<n』)または『stride()』を使います。
ループの途中で抜けたい場合は『break』、次の繰り返しにスキップしたい場合は『continue』を使います。詳細はbreak / continue / returnを参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。