インスタンスメソッド


drop(while:)


与えられたクロージャが false を返すまで、基本非同期シーケンスから要素を省略し、その後、残りのすべての要素を渡します。


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

tvOS 13.0+ visionOS 1.0+ watchOS 6.0+

func drop(while predicate: @escaping (Self.Element) async -> Bool) -> 
AsyncDropWhileSequence<Self>




パラメータ


predicate

要素をパラメータとして取り、変更されたシーケンスから要素を削除するかどうかを示すブール値を返すクロージャ。



戻り値


指定されたクロージャが false を返すまで、基本シーケンスから値をスキップする非同期シーケンス。



議論


drop(while:) メソッドを使用すると、受信した要素が指定した条件を満たすまで、非同期シーケンスから要素を省略します。


以下の例では、Counter という非同期シーケンスが 1 から 10 までの Int 値を生成します。drop(while:) メソッドにより、変更されたシーケンスは、受信した値が 3 で割り切れるまで、その値を無視します。


let stream = Counter(howHigh: 10)
    .drop { $0 % 3 != 0 }
for await number in stream {
    print(number, terminator: " ")
}
// Prints "3 4 5 6 7 8 9 10 "

述語が false を返した後、シーケンスはそれを再度実行することは決してなく、それ以降は、シーケンスは基になるシーケンスの要素をそのまま渡します。





以下も見よ


要素の除外


func dropFirst(Int) -> AsyncDropFirstSequence<Self>

基本非同期シーケンスから指定された数の要素を省略し、残りのすべての要素を渡します。


struct AsyncDropFirstSequence

基本非同期シーケンスから指定された数の要素を省略し、残りのすべての要素を渡す非同期シーケンス。


struct AsyncDropWhileSequence

与えられたクロージャが false を返すまで基本シーケンスから要素を省略し、その後残りのすべての要素を渡す非同期シーケンス。


func drop(while: (Self.Element) async throws -> Bool) -> AsyncThrowingDropWhileSequence<Self>

与えられた、エラーを throw するクロージャが false を返すまで、基本シーケンスから要素を省略し、その後、残りのすべての要素を渡します。


struct AsyncThrowingDropWhileSequence

与えられた、エラーを throw するクロージャが false を返すまで基本シーケンスから要素を省略し、その後残りのすべての要素を渡す非同期シーケンス。


func filter((Self.Element) async -> Bool) -> AsyncFilterSequence<Self>

与えられた述語を満たす基本シーケンスの要素を順番に格納する非同期シーケンスを作成します。


struct AsyncFilterSequence

与えられた述語を満たす基本シーケンスの要素を順番に格納する非同期シーケンス。


func filter((Self.Element) async throws -> Bool) -> AsyncThrowingFilterSequence<Self>

与えられた、エラーを throw する述語を満たす基本シーケンスの要素を順番に格納する非同期シーケンスを作成します。


struct AsyncThrowingFilterSequence

与えられた、エラーを throw する述語を満たす基本シーケンスの要素を順番に格納する非同期シーケンス。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ