文書   >   Swift   >   Dictionary   >   Order Dependent Operations on Dictionary   >   index(_:offsetBy:limitedBy:)


インスタンスメソッド


index(_:offsetBy:limitedBy:)


与えられた制限インデックスをその距離が超えない限り、与えられたインデックスから指定された距離にあるインデックスを返します。





宣言


func index(_ i: Index, offsetBy distance: Int, limitedBy limit: Index) -> Index?



パラメータ


iコレクションの有効なインデックス。
distancei をオフセットすべき距離。コレクションが BidirectionalCollection プロトコルに準拠しない限り、distance は負であってはなりません。
limit制限 (limit) として使用すべきコレクションの有効なインデックス。distance > 0 の場合、i 未満の制限は効果がありません。同様に、 distance < 0 の場合、i より大きい制限は効果がありません。


戻り値


インデックスが移動方向に制限を超えない限り、インデックス i からの distance によるインデックスのオフセット。制限を超える場合、メソッドは nil を返します。


議論


以下の例では、文字列の開始インデックスから 4 つ進んだインデックスを取得し、その位置に文字を出力します。操作は、s.endIndex の制限値を超える必要がないため、成功します。


let s = "Swift"
if let i = s.index(s.startIndex, offsetBy: 4, limitedBy: s.endIndex) {
    print(s[i])
}
// Prints "t"


次の例では、s.startIndex から 6 つのインデックスを取得しようとしますが、その距離は limit として渡されたインデックスを超えているため失敗します。


let j = s.index(s.startIndex, offsetBy: 6, limitedBy: s.endIndex)
print(j)
// Prints "nil"


distance として渡された値は、 limit として渡されたインデックスがそれらの境界を超えてオフセットすることを妨げない限り、コレクションの境界を超えて i をオフセットしてはなりません。


複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。それ以外の場合、O(k)、ここで kdistance の絶対値です。


以下も見よ




インデックスの操作


















































目次
Xcode の新機能

  • 言語:Swift
  • SDK

    Xcode 9.3+


    フレームワーク

    Swift 標準ライブラリ


  • 宣言
  • パラメータ
  • 議論
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)