文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >  stride(from:to:by:)
汎用関数
stride(from:to:by:)
開始値から終了値まで、終了値を含まないシーケンスを、指定された量だけステッピングして返します。
宣言
func stride<T>(from start: T, to end: T, by stride: T.Stride) -> StrideTo<T> where T : Strideable
パラメータ
start | シーケンスに使用する開始の値。シーケンスに値が何か含まれている場合、最初の値が start です。 |
end | シーケンスを制限する終了値。end は決して結果のシーケンスの要素ではありません。 |
stride | 各繰り返し値でステップする量。正の stride は上向きに反復し、負の stride は下向きに反復します。 |
戻り値
start から end までの、end を含まないシーケンス。シーケンスの各値は、stride 単位でステップします。
議論
この関数を使用して、Strideable プロトコルに準拠する任意の型の値 (整数や浮動小数点型など) をストライドすることができます。start から始まり、シーケンスの各連続する値は、次の値が end と等しいかそれを超えるまで stride を追加します。
for radians in stride(from: 0.0, to: .pi * 2, by: .pi / 2) {
let degrees = Int(radians * 180 / .pi)
print("Degrees: \(degrees), radians: \(radians)")
}
// Degrees: 0, radians: 0.0
// Degrees: 90, radians: 1.5707963267949
// Degrees: 180, radians: 3.14159265358979
// Degrees: 270, radians: 4.71238898038469
stride(from:to:by:) を使用して、上方向または下方向にストライドするシーケンスを作成できます。stride として負の値を渡して、より高い開始点または低い end のシーケンスを作成できます。
for countdown in stride(from: 3, to: 0, by: -1) {
print("\(countdown)...")
}
// 3...
// 2...
// 1...
end から離れて移動する stride として値を渡すと、シーケンスには値は含まれません。
for x in stride(from: 0, to: 10, by: -1) {
print(x)
}
// Nothing is printed.
関連
汎用の制約
T : Strideable
以下も見よ
ストライド
func stride<T>(from: T, through: T, by: T.Stride) -> StrideThrough<T>
開始値から終了値まで、多分終了値も含むシーケンスを、指定された量だけステッピングして返します。