The collection to evaluate this range expression in relation to. このコレクションに関して、この範囲式を評価します。
relative(to:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 9.3+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
func relative<C>(to collection: C) -> Range
<Self.Bound
> where C : Collection
, Self.Bound
== C.Index
Parameters パラメータ
collection
Return Value 戻り値
A range suitable for slicing collection
. The returned range is not guaranteed to be inside the bounds of collection
. Callers should apply the same preconditions to the return value as they would to a range provided directly by the user.
スライスするcollection
に対して適している範囲。返される範囲は、collection
の境界内であると保証されません。呼び出し側は、同じ前提条件を戻り値に適用すべきです、それらがユーザによって直接に提供される範囲にするように。
Discussion 解説
You can use the relative(to:)
method to convert a range expression, which could be missing one or both of its endpoints, into a concrete range that is bounded on both sides. The following example uses this method to convert a partial range up to 4
into a half-open range, using an array instance to add the range’s lower bound.
あなたは、relative(to:)
メソッドを使うことによって、それの端点の両方または1つを抜かすことができる範囲式を、両方の側で閉ざされた具体的な範囲へと変換できます。以下の例は、このメソッドを使って、4
までの不完全な範囲を半開範囲へと変換します、配列インスタンスを使って範囲の下側の境界を追加しています。
The r1
range is bounded on the lower end by 0
because that is the starting index of the numbers
array. When the collection passed to relative(to:)
starts with a different index, that index is used as the lower bound instead. The next example creates a slice of numbers
starting at index 2
, and then uses the slice with relative(to:)
to convert up
to a concrete range.
r1
範囲は、0
によって下端に境界をつけられます、なぜならそれがnumbers
配列の開始インデックスだからです。relative(to:)
に渡されるコレクションが異なるインデックスで始まる場合、そのインデックスは代わりに下側の境界として使われます。次の例は、numbers
のスライスをインデックス2
で開始して作成して、それからそのスライスをrelative(to:)
と使うことでup
を具体的な範囲へ変換します。
Use this method only if you need the concrete range it produces. To access a slice of a collection using a range expression, use the collection’s generic subscript that uses a range expression as its parameter. それが生成する具体的な範囲をあなたが必要とする場合にのみ、このメソッドを使ってください。範囲式を使ってコレクションのスライスにアクセスするには、そのコレクションの持つ総称体添え字で、範囲式をそれのパラメータとして使うものを使用してください。