インスタンスメソッド


prefix(while:)


与えられた述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンスを返します。


iOS 13.0+ iPadOS 13.0+ Mac Catalyst 13.0+ macOS 10.15+

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

@preconcurrency
func prefix(while predicate: @escaping (Self.Element) async -> Bool) rethrows ->
AsyncPrefixWhileSequence<Self>




パラメータ


predicate

要素をパラメータとして取り、その要素を変更されたシーケンスに含めるべきかどうかを示すブール値を返すクロージャ。



戻り値


述語を満たす最初の連続要素の非同期シーケンス。



議論


prefix(while:) を使用すると、基本のシーケンスの要素が指定した条件を満たす間、値が生成されます。述語クロージャが false を返すと、変更されたシーケンスは終了します。


以下の例では、Counter という非同期シーケンスが 1 から 10 までの Int 値を生成します。prefix(while:) メソッドは、変更されたシーケンスに、2 と 3 で割り切れない限り値を渡します。6 に達すると、シーケンスは終了します。


let stream = Counter(howHigh: 10)
    .prefix { $0 % 2 != 0 || $0 % 3 != 0 }
for try await number in stream {
    print(number, terminator: " ")
}
// Prints "1 2 3 4 5 "




以下も見よ


非同期の結果シーケンスへのアクセス


func min() async rethrows -> Self.Element?

比較可能な要素の非同期シーケンス内の最小要素を返します。


func min(by: (Self.Element, Self.Element) async throws -> Bool) async rethrows -> Self.Element?

与えられた述語を要素間の比較として使用して、非同期シーケンス内の最小要素を返します。


func prefix(Int) -> AsyncPrefixSequence<Self>

基本非同期シーケンスの最初の要素を含む、指定された最大長さまでの非同期シーケンスを返します。


func reduce<Result>(Result, (Result, Self.Element) async throws -> Result) async rethrows -> Result

与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。


func reduce<Result>(into: Result, (inout Result, Self.Element) async throws -> Void) async rethrows -> Result

変更可能な初期値を与えられて、与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ