文書   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   AnyBidirectionalCollection   >   prefix(upTo:)
インスタンスメソッド
prefix(upTo:)
コレクションの先頭から指定された位置までの、指定された位置を含まない部分シーケンスを返します。
宣言
パラメータ
end | 結果の部分シーケンスの、"最後を過ぎた"インデックス。end は、コレクションの有効なインデックスでなければなりません。 |
戻り値
終了位置を含まない、終了位置までの部分シーケンス。
議論
結果の部分シーケンスには、位置の最後の所の要素を 含みません。以下の例では、整数の配列の中の 40 番のインデックスを検索し、そのインデックスを含まないそれまでの配列の接頭辞 (prefix) を出力します。
let numbers = [10, 20, 30, 40, 50, 60]
if let i = numbers.index(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.index(of: 40) {
print(numbers[..<i])
}
// Prints "[10, 20, 30, 40]"
複雑さ:O(1)