文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   Collection   >   formIndex(_:offsetBy:limitedBy:)
インスタンスメソッド
formIndex(_:offsetBy:limitedBy:)
与えられたインデックスを指定された距離だけオフセットするか、または与えられた制限インデックスと等しくなるようにオフセットします。
宣言
func formIndex(_ i: inout Self.Index, offsetBy distance: Int, limitedBy limit: Self.Index) -> Bool
パラメータ
i | コレクションの有効なインデックス。 |
distance | オフセット i までの距離。コレクションが BidirectionalCollection プロトコルに準拠していない場合、distance は負であってはなりません。 |
limit | 制限 (limit) として使用するコレクションの有効なインデックス。distance > 0 の場合、i 未満の制限は無効です。同様に、distance < 0 の場合、i より大きい制限は無効です。 |
戻り値
i が limit を越えずに正確に distance のステップによってオフセットされている場合は true。それ以外の場合は false。戻り値が false の場合、i の値は limit に等しくなります。
議論
インデックスが limit として渡されない限り、これらの境界を超えてオフセットすることはできないため、distance として渡された値は、コレクションの範囲を超えて i をオフセットしてはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。そうでなければ、O(k) で、ここで k は distance の絶対値です。
以下も見よ
インデックスの操作
空でないコレクション内の最初の要素の位置。
必須。
コレクションの "終わりを過ぎた" 位置、つまり最後の有効なサブスクリプト引数よりも 1 つ大きい位置。
必須。
昇順でコレクションをサブスクリプトするのに有効なインデックス。
必須。 デフォルトの実装が提供されます。
func index(after: Self.Index) -> Self.Index
与えられたインデックスの直後の位置を返します。
必須。
func formIndex(inout Self.Index, offsetBy: Int)
与えられたインデックスを指定された距離だけオフセットします。
func formIndex<T>(inout Self.Index, offsetBy: T)
    廃止  
func formIndex<T>(inout Self.Index, offsetBy: T, limitedBy: Self.Index) -> Bool
    廃止