W3cubDocs

/Kotlin

yieldAll

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)
abstract suspend fun yieldAll(iterator: Iterator<T>)

Yields all values from the iterator to the Iterator being built and suspends until all these values are iterated and the next one is requested.

The sequence of values returned by the given iterator can be potentially infinite.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)
suspend fun yieldAll(elements: Iterable<T>)

Yields a collections of values to the Iterator being built and suspends until all these values are iterated and the next one is requested.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)
suspend fun yieldAll(sequence: Sequence<T>)

Yields potentially infinite sequence of values to the Iterator being built and suspends until all these values are iterated and the next one is requested.

The sequence can be potentially infinite.

import kotlin.test.*

fun main(args: Array<String>) {
//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–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence-scope/yield-all.html