文書   >   Swift   >  String   >   index(_:offsetBy:limitedBy:)


インスタンスメソッド


index(_:offsetBy:limitedBy:)


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





宣言


func index(_ i: String.Index, offsetBy n: String.IndexDistance, limitedBy limit: String.Index) -> String.Index?


パラメータ


iコレクションの有効なインデックス。
nオフセット i への距離。
limit制限 (limit) として使用すべきコレクションの有効なインデックス。n > 0 の場合、i より小さい制限は効果がありません。同様に、n < 0 の場合、i より大きい制限は効果がありません。


戻り値


インデックス i から n だけオフセットしたインデックス、その指数が動きの方向において limit を超えていない限り。その場合、メソッドは 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"


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


複雑さ:O(n)、ここで nn の絶対値です。


関連





プロトコルから


以下も見よ





インデックスの操作

















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












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












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












トップへ(Swift 標準ライブラリ)
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 7.1+
  • Framework
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 関連
  • 以下も見よ












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












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












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












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