Subscript

subscript(_:)

Accesses a contiguous subrange of the buffer’s elements. バッファの持つ要素の隣接下位範囲にアクセスします。

Declaration 宣言

subscript(bounds: Range<Int>) -> Slice<UnsafeBufferPointer<Element>> { get }

Parameters パラメータ

bounds

A range of the buffer’s indices. The bounds of the range must be valid indices of the buffer. バッファのもつインデックスの範囲。範囲の境界は、このバッファの有効なインデックスでなければなりません。

Discussion 解説

The accessed slice uses the same indices for the same elements as the original buffer uses. Always use the slice’s startIndex property instead of assuming that its indices start at a particular value. アクセスされるスライス(断片)は、同じ要素に対して、元のバッファが使うのと同じインデックスを使います。常にスライスのstartIndexプロパティを使ってください、それのインデックスが特定の値で始まると決めてかかるのではなく。

This example demonstrates getting a slice from a buffer of strings, finding the index of one of the strings in the slice, and then using that index in the original buffer. この例はいくらかの文字列からなるバッファからスライスを取得する実演をします、スライスの中の文字列の1つのインデックスを見つけて、それからそのインデックスを元のバッファにおいて使います。


let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
streets.withUnsafeBufferPointer { buffer in
    let streetSlice = buffer[2..<buffer.endIndex]
    print(Array(streetSlice))
    // Prints "["Channing", "Douglas", "Evarts"]"
    let index = streetSlice.firstIndex(of: "Evarts")    // 4
    print(buffer[index!])
    // Prints "Evarts"
}

Relationships 関係

From Protocol 由来プロトコル