対象:
Swift3

For文(Swift)

SwiftにはFor-In文も用意されており、Ruby等に慣れた開発者にとっては非常に使いやすい。以下は1~10まで繰り返すFor-In文の例である。閉範囲演算子(Closed Range Operator)(...)により1~10という範囲(10も含む)を表すことができる。

1
2
3
for i in 1...10 {
    print("For loop i = \(i)")
}

Swift 3.0でCスタイルのFor文は削除されてしまったので、iをある値から減らしていきたい場合、範囲をreversedメソッドで反転する。

1
2
// iをディクリメントしたい場合はreversedすれば良い。
for i in (1...10).reversed() {

範囲演算子には半開範囲演算子(Half-Open Range Operator)(..<)もある。こちらは閉範囲演算子とは異なり、右側の数は含まない範囲となる。配列等の要素数が得られるときに使うと良いだろう。

1
2
3
4
var numbers = [1, 2, 3, 5, 8]
for i in 0..<numbers.count {
    print("For loop numbers[\(i)] = \(numbers[i])")
}

範囲に直接配列を書くことも可能だ。

1
2
3
for i in [1, 3, 5, 7] {
    print("For loop i = \(i)")
}

範囲としてDictionaryを使用する場合、繰返し中にkeyとvalueを同時に得ることができる。尚、Dictionaryを使用する場合、key-valueペアの順序は保証されないことに注意しなければならない。

1
2
3
for (name, number) in ["睦月": 1, "如月": 2, "弥生": 3] {
    print("\(name) \(number)月")
}

繰返し中に制御変数の値を必要としない場合、ワイルドカード(_)を使って無視することもできる。

1
2
3
4
5
var n = 1
for _ in 1...10 {
    n *= 2
}
print("n = \(n)")
(2015/01/21)
() Swift 3.0対応。

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

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