枚舉
Unbounded
UnboundedRange_
表示集合的整個範圍的範圍表達式。
聲明
@frozen enum UnboundedRange_
概述
您可以使用無界範圍運算符 (...
) 創建包含所有集合元素的集合切片。無限範圍切片本質上是將集合實例轉換為其切片類型。
例如,以下代碼聲明了 countLetterChanges(_:_:)
,該函數用於查找將一個單詞或短語更改為另一個所需的更改次數。該函數使用遞歸方法對越來越小的原始字符串執行相同的比較。為了使用遞歸而不在每一步複製字符串,countLetterChanges(_:_:)
使用字符串的切片類型 Substring
作為其參數。
func countLetterChanges(_ s1: Substring, _ s2: Substring) -> Int {
if s1.isEmpty { return s2.count }
if s2.isEmpty { return s1.count }
let cost = s1.first == s2.first ? 0 : 1
return min(
countLetterChanges(s1.dropFirst(), s2) + 1,
countLetterChanges(s1, s2.dropFirst()) + 1,
countLetterChanges(s1.dropFirst(), s2.dropFirst()) + cost)
}
要使用兩個字符串調用 countLetterChanges(_:_:)
,請在每個字符串的下標中使用無界範圍。
let word1 = "grizzly"
let word2 = "grisly"
let changes = countLetterChanges(word1[...], word2[...])
// changes == 2
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift Unicode.CanonicalCombiningClass ...(_:_:)用法及代碼示例
- Swift UnsafeMutableRawPointer ..<(_:_:)用法及代碼示例
- Swift UnfoldSequence shuffled()用法及代碼示例
- Swift UnsafeBufferPointer randomElement()用法及代碼示例
- Swift UnsafeRawBufferPointer.Iterator dropFirst(_:)用法及代碼示例
- Swift UnsafeMutablePointer allocate(capacity:)用法及代碼示例
- Swift UnsafeRawBufferPointer.Iterator max()用法及代碼示例
- Swift UnsafeBufferPointer min(by:)用法及代碼示例
- Swift Unicode.Scalar.UTF16View contains(where:)用法及代碼示例
- Swift UnsafeMutableBufferPointer allocate(capacity:)用法及代碼示例
- Swift UnsafeRawBufferPointer shuffled(using:)用法及代碼示例
- Swift UnsafeBufferPointer prefix(upTo:)用法及代碼示例
- Swift Unicode.Scalar.UTF8View dropFirst(_:)用法及代碼示例
- Swift Unicode.Scalar.UTF16View firstIndex(of:)用法及代碼示例
- Swift UnsafeMutableRawPointer ...(_:_:)用法及代碼示例
- Swift UnsafeMutableBufferPointer prefix(through:)用法及代碼示例
- Swift Unicode.Scalar.UTF16View randomElement()用法及代碼示例
- Swift UnsafeRawBufferPointer isEmpty用法及代碼示例
- Swift Unicode.Scalar.UTF8View contains(where:)用法及代碼示例
- Swift UnsafeMutableRawBufferPointer shuffle()用法及代碼示例
- Swift UnsafeRawPointer advanced(by:)用法及代碼示例
- Swift Unicode.UTF32 encode(_:into:)用法及代碼示例
- Swift Unicode.Scalar.UTF16View forEach(_:)用法及代碼示例
- Swift UnsafeRawBufferPointer enumerated()用法及代碼示例
- Swift UnsafeBufferPointer firstIndex(of:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 UnboundedRange_。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。