実行環境
- Swift4
- Xcode9.2
for-in文
for-in レンジ(終了値を含まない)
書式
for 変数 in 開始値 ..< 終了値 {
// ステートメント
}
使用例
1から9の値を取り出す
// 1から9の値を取り出す
for i in 1..<10 {
print("i: \(i)")
}
// 【結果】
// i: 1
// i: 2
// i: 3
// i: 4
// i: 5
// i: 6
// i: 7
// i: 8
// i: 9
for-in レンジ(終了値を含む)
書式
for 変数 in 開始値 ... 終了値 {
// ステートメント
}
使用例
1から10の値を取り出す
// 1から10の値を取り出す
for i in 1...10 {
print("i: \(i)")
}
// 【結果】
// i: 1
// i: 2
// i: 3
// i: 4
// i: 5
// i: 6
// i: 7
// i: 8
// i: 9
// i: 10
for-in コレクション
書式
for 変数 in コレクション {
// ステートメント
}
使用例
コレクションから値を取り出す
// 配列
let arrayData = [3, 5, 8, 10]
for data in arrayData {
print("data: \(data)")
}
// 【結果】
// data: 3
// data: 5
// data: 8
// data: 10
// 辞書
let dictionaryData = ["data1":10, "data2":20, "data3":30, "data4":40]
// 全ての要素を取り出す
for data in dictionaryData {
print("data: \(data)")
}
// 【結果】
// data: (key: "data4", value: 40)
// data: (key: "data3", value: 30)
// data: (key: "data2", value: 20)
// data: (key: "data1", value: 10)
// 全ての要素を取り出す(キーと値をタプルに代入する)
for (key, data) in dictionaryData {
print("key: \(key) value: \(data)")
}
// 【結果】
// key: data4 value: 40
// key: data3 value: 30
// key: data2 value: 20
// key: data1 value: 10
// 全てのキーを取り出す
for key in dictionaryData.keys {
print("key: \(key)")
}
// 【結果】
// key: data4
// key: data3
// key: data2
// key: data1
// 全ての値を取り出す
for value in dictionaryData.values {
print("value: \(value)")
}
// 【結果】
// value: 40
// value: 30
// value: 20
// value: 10
for-in stride
飛び飛びで繰り返す。
書式
for 変数 in stride(from: 開始値, to: 終了値, by: 間隔) {
// ステートメント
}
使用例
10から50まで3つずつ増える値を取り出す
for num in stride(from: 10, to: 50, by: 3) {
print("num: \(num)")
}
// 【結果】
// num: 10
// num: 13
// num: 16
// num: 19
// num: 22
// num: 25
// num: 28
// num: 31
// num: 34
// num: 37
// num: 40
// num: 43
// num: 46
// num: 49
while文
while
指定したループ条件を満たしている間は繰り返す。
書式
while (ループ条件) {
// ステートメント
}
使用例
カウントが5を超えるまで繰り返す
var count = 0
var total = 0
while count < 5 {
count += 1
total += count
}
print("count: \(count) total: \(total)")
// 【結果】
// count: 5 total: 15
repeat-while文
repeat-while
まずは処理を実行した後で指定したループ条件をチェックし、満たしている間は実行する。
while文と違い、最低でも1回処理は行われる。
repeat {
// ステートメント
} while (ループ条件)
使用例
カウントが1を超えるまで繰り返す
var count = 1
repeat {
print("処理実行") // repeat-while文のため、この処理は最低1回実行される
count += 1
} while(count < 1)