XCode 26.0.1 日本語化計画
与えられた、エラーを throw する述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンスを返します。
@preconcurrency func prefix(while predicate: @escaping (Self.Element) async throws -> Bool) rethrows -> AsyncThrowingPrefixWhileSequence<Self>
predicate
非同期シーケンスの要素をその引数として取り、変更されたシーケンスに要素を含めるかどうかを示すブール値を返す、エラーを throw するクロージャ。
与えられた述語を満たす基本シーケンスの要素を順番に含む、非同期シーケンス。述語がエラーを throw した場合、シーケンスにはエラー発生前に生成された値のみが含まれます。
prefix(while:) を使用すると、基本シーケンスの要素が指定した条件を満たしている間、値が生成されます。述語クロージャが false を返すかエラーを throw すると、変更されたシーケンスは終了します。
以下の例では、Counter という非同期シーケンスが 1 から 10 までの Int 値を生成します。prefix(_:) メソッドにより、変更されたシーケンスは 8 未満の値をそのまま渡しますが、5 で割り切れる値を受け取るとエラーを throw します。
do {
let stream = try Counter(howHigh: 10)
.prefix {
if $0 % 5 == 0 {
throw MyError()
}
return $0 < 8
}
for try await number in stream {
print(number, terminator: " ")
}
} catch {
print("Error: \(error)")
}
// Prints "1 2 3 4 Error: MyError() "
func prefix(Int) -> AsyncPrefixSequence<Self>
基本非同期シーケンスの最初の要素を含む、指定された最大長さまでの非同期シーケンスを返します。
基本非同期シーケンスの初期要素を含む、指定された最大長までの非同期シーケンス。
func prefix(while: (Self.Element) async -> Bool) rethrows -> AsyncPrefixWhileSequence<Self>
与えられた述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンスを返します。
struct AsyncPrefixWhileSequence
与えられた述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンス。
struct AsyncThrowingPrefixWhileSequence
与えられた、エラーを throw する述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンス。