文書   >   Swift   >   Array   >   subscript(_:)


汎用サブスクリプト


subscript(_:)


範囲式で指定されたコレクションの要素の連続した部分範囲にアクセスします。





宣言


subscript<R>(r: R) -> ArraySlice<Element> where R : RangeExpression, Self.Index == R.Bound { get }


パラメータ


boundsコレクションのインデックスの範囲。範囲の境界はコレクションの有効なインデックスでなければなりません。


議論


範囲式は、このコレクションを基準にした具象的な部分範囲に変換されます。たとえば、PartialRangeFrom 範囲式を配列とともに使用すると、範囲式の先頭から配列の末尾までの部分範囲にアクセスします。


let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2 ...]
print(streetsSlice)
// ["Channing", "Douglas", "Evarts"]


アクセスされたスライスは、元のコレクションが使用しているのと同じ要素に対して同じインデックスを使用します。この例では、streetsSlice でスライス内の文字列の 1 つを検索してから、そのインデックスを元の配列で使用します。


let index = streetsSlice.firstIndex(of: "Evarts")    // 4
print(streets[index!])
// "Evarts"


スライスの startIndex が特定の値で始まると仮定するのではなく、常にスライスの startIndex プロパティを使用してください。スライスのインデックスの境界外のインデックスを使用して要素にアクセスしようとすると、そのインデックスが元のコレクションに対して有効であっても実行時エラーが発生する可能性があります。


print(streetsSlice.startIndex)
// 2
print(streetsSlice[2])
// "Channing"

print(streetsSlice[0])
// error: Index out of bounds


複雑さ:O(1)


以下も見よ





要素にアクセス

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • SDK
  • Xcode 10.0+
  • フレームワーク
  • Swift 標準ライブラリ

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












  • トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)