インスタンスメソッド


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

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



戻り値


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



議論


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


以下の例では、Counter という非同期シーケンスが 1 から 10 までの Int 値を生成します。prefix(while:) メソッドにより、変更されたシーケンスは 23 で割り切れない限り値を渡します。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 prefix(Int) -> AsyncPrefixSequence<Self>

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


struct AsyncPrefixSequence

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


struct AsyncPrefixWhileSequence

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


func prefix(while: (Self.Element) async throws -> Bool) rethrows -> AsyncThrowingPrefixWhileSequence<Self>

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


struct AsyncThrowingPrefixWhileSequence

与えられた、エラーを throw する述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンス。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ