strideは開始値、終了値、刻み幅で構成される型です。
for-in文と一緒に使うと、範囲指定の繰り返しで刻み幅が指定できます。
環境
この記事の情報は次のバージョンで動作確認しています。
【Xcode】11.7
【Swift】5.2.4
【iOS】13.7
【macOS】Catalina バージョン 10.15.6
【Swift】5.2.4
【iOS】13.7
【macOS】Catalina バージョン 10.15.6
仕様
1 2 3 |
stride(from: 開始値, to: 終了値, by: 刻み幅) |
fromからtoまでの範囲のリストをbyで指定した刻み幅で生成します。
生成されたリストに、toで指定した最終値は含まれません。
刻み幅にはマイナス値(減少)も指定可能です。
各値は整数の他に浮動小数点数が使えます。
1 2 3 |
stride(from: 開始値, through: 終了値, by: 刻み幅) |
生成されたリストに、throughで指定した最終値が含まれます。
その他の仕様は上記と同様です。
基本的な使用例
1 2 3 4 5 6 |
for i in stride(from: 0, to: 10, by: 2) { print(i) } // 0, 2, 4, 6, 8 |
0から10未満の数値を、2刻みで繰り返します。
終了値の10は繰り返しの範囲に含みません
1 2 3 4 5 6 |
for i in stride(from: 0, through: 10, by: 2) { print(i) } // 0, 2, 4, 6, 8,10 |
こちらは、終了値の10を繰り返しの範囲に含みます
1 2 3 4 5 6 |
for i in stride(from: 10, to: 0, by: -2) { print(i) } // 10, 8, 6, 4, 2 |
マイナス刻みも可能です。
1 2 3 4 5 6 |
for i in stride(from: 0, through: 6, by: 1.5) { print(i) } // 0.0, 1.5, 3.0, 4.5, 6.0 |
浮動小数点も使用可能です。
合わせて読みたい記事
【Swift】guard文の使い方
swiftのguard文の使い方を解説します。
【Swift】if let とは?
Swiftのコードでよく見かける if let 構文について解説します。