文書   >   Swift 標準ライブラリ >     Collections   >   Sequence and Collection Protocols   >   Sequence   >   prefix(while:)
インスタンスメソッド
prefix(while:)
指定された predicate (述語) を満たす最初の、連続する要素を含む部分シーケンスを返します。
必須。 デフォルトの実装が供給されます。
宣言
func prefix(while predicate: (Self.Element) throws -> Bool) rethrows -> Self.SubSequence
パラメータ
predicate | シーケンスの要素を引数として受け取り、その要素を結果に含めるべきかどうかを示すブール値を返すクロージャ。 |
戻り値
predicate (述語) を満たす最初の、連続した要素の部分シーケンス。
議論
以下の例では、prefix(while:) メソッドを使用して、数値配列の先頭にある正の数を検索します。最初の負の値までの数字自体は含まないすべての要素が結果に含まれます。
let numbers = [3, 7, 4, -2, 9, -6, 10, 1]
let positivePrefix = numbers.prefix(while: { $0 > 0 })
// positivePrefix == [3, 7, 4]
predicate がシーケンス内のすべての要素と一致する場合、結果のシーケンスにはシーケンスのすべての要素が含まれます。
複雑さ:O(n)、ここで n はコレクションの長さです。
デフォルトの実装
Collection の実装
func prefix(while: (Self.Element) -> Bool)
predicate (述語) が false を返し、残りの要素をスキップするまで、最初の要素を含む部分シーケンスを返します。
LazySequenceProtocol の実装
func prefix(while: (Self.Elements.Element) -> Bool)
predicate (述語) を満たす最初の、連続する要素の遅延したシーケンスを返します。
Sequence の実装
func prefix(while: (Self.Element) -> Bool)
指定された predicate を満たす最初の、連続する要素を含む部分シーケンスを返します。
以下も見よ
要素の選択
func filter((Self.Element) -> Bool)
指定された predicate (述語) を満たすシーケンスの要素を順番に含む配列を返します。
必須。デフォルトの実装が提供されます。
シーケンスの最初の要素を含む、指定された最大長までの部分シーケンスを返します。
必須。 デフォルトの実装が供給されます。
シーケンスの最後の要素を含む、指定された最大長までの部分シーケンスを返します。
必須。 デフォルトの実装が供給されます。
シーケンスの要素の一部の部分シーケンスを表す型。
必須。