文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   Collection   >   index(_:offsetBy:)   >   index(_:offsetBy:)     廃止  
汎用インスタンスメソッド
index(_:offsetBy:)
与えられたインデックスから指定された距離のインデックスを返します。
宣言
func index<T>(_ i: Self.Index, offsetBy n: T) -> Self.Index where T : BinaryInteger
パラメータ
i | コレクションの有効なインデックス。 |
distance | offset i までの距離。コレクションが BidirectionalCollection プロトコルに準拠していない場合、 distance は負であってはなりません。 |
戻り値
インデックス i からの distance だけオフセットされたインデックス。distance が正の場合、これは index(after:) への distance の呼び出しの結果と同じ値です。 distance が負の場合、これは index(before:) への abs(distance) の呼び出しの結果と同じ値です。
議論
以下の例では、文字列の開始インデックスから 4 つの位置だけ進んだインデックスを取得し、その位置にある文字を表示します。
let s = "Swift"
let i = s.index(s.startIndex, offsetBy: 4)
print(s[i])
// Prints "t"
distance として渡された値は、コレクションの範囲を超えて i をオフセットしてはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。そうでなければ、O(k)、ここで k は distance の絶対値です。
関連
汎用の制約
T : BinaryInteger
以下も見よ
コレクションの実装
func index(Self.Index, offsetBy: Int) -> Self.Index
与えられたインデックスから指定された距離のインデックスを返します。