Spec-Zone.ru › Kotlin 2

yieldAll

kotlin-stdlib/kotlin.sequences/SequenceScope/yieldAll

Начиная с Kotlin: 1.3

abstract suspend fun yieldAll(iterator: Iterator<T>)

Выдаёт все значения из iterator в создаваемый Iterator и приостанавливается, пока все эти значения не будут перебраны и не будет запрошено следующее значение.

Последовательность значений, возвращаемых заданным итератором, потенциально может быть бесконечной.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val sequence = sequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72] 
   //sampleEnd
}

suspend fun yieldAll(elements: Iterable<T>)

Выдаёт коллекцию значений в создаваемый Iterator и приостанавливается, пока все эти значения не будут перебраны и не будет запрошено следующее значение.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val sequence = sequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72] 
   //sampleEnd
}

suspend fun yieldAll(sequence: Sequence<T>)

Выдаёт потенциально бесконечную последовательность значений в создаваемый Iterator и приостанавливается, пока все эти значения не будут перебраны и не будет запрошено следующее значение.

Последовательность потенциально может быть бесконечной.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val sequence = sequence {
    val start = 0
    // yielding a single value
    yield(start)
    // yielding an iterable
    yieldAll(1..5 step 2)
    // yielding an infinite sequence
    yieldAll(generateSequence(8) { it * 3 })
}

println(sequence.take(7).toList()) // [0, 1, 3, 5, 8, 24, 72] 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.sequences/-sequence-scope/yield-all.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API