文書   >   Swift   >   Dictionary   >   Order Dependent Operations on Dictionary   >   subscript(_:)
汎用サブスクリプト
subscript(_:)
範囲式で指定されたコレクションの要素の連続した部分範囲にアクセスします。
宣言
パラメータ
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 プロパティを使用して下さい。スライスのインデックスの境界の外のインデックスを使用して要素にアクセスしようとすると、そのインデックスが元のコレクションに対して有効であっても、実行時エラーが発生する場合があります。
print(streetsSlice.startIndex) // 2 print(streetsSlice[2]) // "Channing" print(streetsSlice[0]) // error: Index out of bounds
複雑さ:O(1)
以下も見よ
要素の選択
subscript(Range<Index>) -> Slice<Dictionary<Key, Value>>
コレクションの要素の連続した部分範囲にアクセスします。
subscript((UnboundedRange_) -> ()) -> Slice<Dictionary<Key, Value>>
func prefix(Int) -> Slice<Dictionary<Key, Value>>
コレクションの最初の要素を含む、指定された最大長までの部分シーケンスを返します。
func prefix(through: Index) -> Slice<Dictionary<Key, Value>>
コレクションの初めから指定された位置までの部分シーケンスを返します。
func prefix(upTo: Index) -> Slice<Dictionary<Key, Value>>
コレクションの初めから、指定された位置まで (ただし、それを含まれない) の部分シーケンスを返します。
func prefix(while: ((key: Key, value: Value)) -> Bool) -> Slice<Dictionary<Key, Value>>
predicate が false を返し、残りの要素をスキップするまで、初期要素を含む部分シーケンスを返します。
func suffix(Int) -> Slice<Dictionary<Key, Value>>
コレクションの最後の要素を含む、与えられた最大長までの部分シーケンスを返します。
func suffix(from: Index) -> Slice<Dictionary<Key, Value>>
指定された位置からコレクションの最後までの部分シーケンスを返します。