实例方法
relative(to:)
返回给定集合中此范围表达式说明的索引范围。
声明
func relative<C>(to collection: C) -> Range<Bound> where Bound == C.Index, C : Collection
当
Bound
符合 Comparable
时可用。返回值
适合切片 collection
的范围。返回的范围是 not
保证在 collection
的范围内。调用者应该对返回值应用相同的先决条件,就像他们对用户直接提供的范围一样。
参数
collection
评估与此范围表达式相关的集合。
详述
您可以使用relative(to:)
方法将可能缺少一个或两个端点的范围表达式转换为两侧有界的具体范围。下面的示例使用此方法将不超过 4
的部分范围转换为半开范围,使用数组实例添加范围的下限。
let numbers = [10, 20, 30, 40, 50, 60, 70]
let upToFour = ..<4
let r1 = upToFour.relative(to: numbers)
// r1 == 0..<4
r1
范围的下端以 0
为界,因为这是 numbers
数组的起始索引。当传递给 relative(to:)
的集合以不同的索引开始时,该索引将用作下限。下一个示例从索引 2
开始创建一个 numbers
切片,然后使用带有 relative(to:)
的切片将 upToFour
转换为具体范围。
let numbersSuffix = numbers[2...]
// numbersSuffix == [30, 40, 50, 60, 70]
let r2 = upToFour.relative(to: numbersSuffix)
// r2 == 2..<4
仅当您需要它产生的具体范围时才使用此方法。要使用范围表达式访问集合的切片,请使用集合的通用下标,该下标使用范围表达式作为其参数。
let numbersPrefix = numbers[upToFour]
// numbersPrefix == [10, 20, 30, 40]
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift PartialRangeUpTo ~=(_:_:)用法及代码示例
- Swift PartialRangeUpTo用法及代码示例
- Swift PartialRangeFrom ~=(_:_:)用法及代码示例
- Swift PartialRangeFrom用法及代码示例
- Swift PartialRangeThrough ~=(_:_:)用法及代码示例
- Swift PartialRangeFrom relative(to:)用法及代码示例
- Swift PartialRangeThrough relative(to:)用法及代码示例
- Swift PartialRangeThrough用法及代码示例
- Swift PrefixSequence contains(where:)用法及代码示例
- Swift PrefixSequence flatMap(_:)用法及代码示例
- Swift PrefixSequence split(separator:maxSplits:omittingEmptySubsequences:)用法及代码示例
- Swift PrefixSequence shuffled()用法及代码示例
- Swift PrefixSequence forEach(_:)用法及代码示例
- Swift PrefixSequence first(where:)用法及代码示例
- Swift PrefixSequence drop(while:)用法及代码示例
- Swift PrefixSequence starts(with:)用法及代码示例
- Swift PrefixSequence dropLast(_:)用法及代码示例
- Swift PrefixSequence reduce(into:_:)用法及代码示例
- Swift PrefixSequence reduce(_:_:)用法及代码示例
- Swift PrefixSequence elementsEqual(_:)用法及代码示例
- Swift PrefixSequence min(by:)用法及代码示例
- Swift PrefixSequence filter(_:)用法及代码示例
- Swift PrefixSequence enumerated()用法及代码示例
- Swift PrefixSequence shuffled(using:)用法及代码示例
- Swift PlaygroundQuickLook用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 PartialRangeUpTo relative(to:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。