函數
stride(from:
stride(from:to:by:)
返回從起始值到結束值的序列,但不包括結束值,按指定量步進。
聲明
func stride<T>(
from start: T,
to end: T,
by stride: T.Stride
) -> StrideTo<T> where T : Strideable
返回值
從 start
到但不包括 end
的序列。序列中的每個值都按 stride
遞增。
參數
start
用於序列的起始值。如果序列包含任何值,則第一個是
start
。end
限製序列的結束值。
end
絕不是結果序列的元素。stride
每次迭代要逐步執行的量。一個正的
stride
向上迭代;負數stride
向下迭代。
詳述
您可以使用此函數跨越符合Strideable
協議的任何類型的值,例如整數或浮點類型。從 start
開始,序列的每個連續值都會添加 stride
直到下一個值等於或超過 end
。
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
傳遞以創建從較高起點到較低終點的序列:
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.
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift stride(from:through:by:)用法及代碼示例
- Swift sequence(first:next:)用法及代碼示例
- Swift sequence(state:next:)用法及代碼示例
- Swift KeyValuePairs flatMap(_:)用法及代碼示例
- Swift String.UTF8View first用法及代碼示例
- Swift Result.Publisher zip(_:_:_:)用法及代碼示例
- Swift Optional.Publisher reduce(_:_:)用法及代碼示例
- Swift Int8 ~(_:)用法及代碼示例
- Swift SetAlgebra isStrictSubset(of:)用法及代碼示例
- Swift UInt +(_:)用法及代碼示例
- Swift Array enumerated()用法及代碼示例
- Swift FlattenSequence prefix(_:)用法及代碼示例
- Swift Slice endIndex用法及代碼示例
- Swift LazySequence split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代碼示例
- Swift MutableCollection partition(by:)用法及代碼示例
- Swift ReversedCollection min(by:)用法及代碼示例
- Swift RandomNumberGenerator用法及代碼示例
- Swift Dictionary.Keys shuffled()用法及代碼示例
- Swift AnySequence elementsEqual(_:)用法及代碼示例
- Swift UInt &<<(_:_:)用法及代碼示例
- Swift Optional.Publisher tryDrop(while:)用法及代碼示例
- Swift DefaultIndices endIndex用法及代碼示例
- Swift Substring.UnicodeScalarView insert(contentsOf:at:)用法及代碼示例
- Swift LazyFilterSequence dropFirst(_:)用法及代碼示例
- Swift LazySequence suffix(from:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 stride(from:to:by:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。