文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   EnumeratedSequence   >   prefix(while:)
インスタンスメソッド
prefix(while:)
与えられた predicate (述語) を満たす最初の連続する要素を含む部分シーケンスを返します。
宣言
func prefix(while predicate: ((offset: Int, element: Base.Element)) throws -> Bool) rethrows -> AnySequence<(offset: Int, element: Base.Element)>
パラメータ
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(k)、ここで k は結果の長さです。