for-in / while / repeat-while
| 対応: | Swift 1.0(2014) |
|---|
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() | インデックスと値を同時に取得します。 |
サンプルコード
sample_for_while_repeat.swift
// 配列の繰り返し
let members = ["岡部倫太郎", "牧瀬紅莉栖", "椎名まゆり"]
for member in members {
print(member)
}
// インデックスと値を同時に取得
for (i, member) in members.enumerated() {
print("\(i + 1)番目: \(member)")
}
// 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_while_repeat.swift 岡部倫太郎 牧瀬紅莉栖 椎名まゆり 1番目: 岡部倫太郎 2番目: 牧瀬紅莉栖 3番目: 椎名まゆり 0 2 4 6 8 カウント: 3 カウント: 2 カウント: 1 repeat: 0 repeat: 1 repeat: 2
概要
Swiftには従来の『for (var i = 0; i < n; i++)』のようなC言語スタイルのfor文はありません。数値の範囲を扱う場合は範囲演算子(『0..<n』)または『stride()』を使います。
ループの途中で抜けたい場合は『break』、次の繰り返しにスキップしたい場合は『continue』を使います。詳細はbreak / continue / returnを参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。