文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   Collection   >   prefix(upTo:)
インスタンスメソッド
prefix(upTo:)
コレクションの先頭から指定された位置までの、それを含まない部分シーケンスを返します。
必須。 デフォルトの実装が提供されます。
宣言
func prefix(upTo end: Self.Index) -> Self.SubSequence
パラメータ
end | 結果の部分シーケンスの "終わりを過ぎた" インデックス。end はコレクションの有効なインデックスでなければなりません。 |
戻り値
end 位置を含まない、そこまでの部分シーケンス。
議論
結果の部分シーケンスには、end の位置に要素を 含みません。以下の例では、整数の配列の中の 40 番のインデックスを検索し、配列の接頭辞 (prefix) をそのインデックスまで、それを含めず出力します。
let numbers = [10, 20, 30, 40, 50, 60]
if let i = numbers.firstIndex(of: 40) {
print(numbers.prefix(upTo: i))
}
// Prints "[10, 20, 30]"
コレクションの開始インデックスを end パラメータとして渡すと、空の部分シーケンスになります。
print(numbers.prefix(upTo: numbers.startIndex))
// Prints "[]"
prefix(upTo:) メソッドを使用することは、コレクションのサブスクリプトとして部分半開放範囲を使用することと同じです。prefix(upTo:) よりもサブスクリプトの表記が好まれます。
if let i = numbers.firstIndex(of: 40) {
print(numbers[..<i])
}
// Prints "[10, 20, 30]"
複雑さ:O(1)。
デフォルトの実装
コレクションの実装
func prefix(upTo: Self.Index) -> Self.SubSequence
コレクションの先頭から指定された位置までの、それを含まない部分シーケンスを返します。