interleave
Interleaves the elements of this
Iterable with those of other. Elements of this
and other are taken in turn, and the resulting list is the concatenation of the interleaved elements. If one Iterable is longer than the other, the remaining elements are appended to the end.
import arrow.core.*
import io.kotest.matchers.shouldBe
fun test() {
val list1 = listOf(1, 2, 3)
val list2 = listOf(4, 5, 6, 7, 8)
list1.interleave(list2) shouldBe listOf(1, 4, 2, 5, 3, 6, 7, 8)
}
Content copied to clipboard
Interleaves the elements of this
Sequence with those of other. Elements of this
and other are taken in turn, and the resulting list is the concatenation of the interleaved elements. If one Sequence is longer than the other, the remaining elements are appended to the end.
import arrow.core.*
import io.kotest.matchers.shouldBe
fun test() {
val tags = generateSequence { "#" }.take(5)
val numbers = generateSequence(0) { it + 1 }.take(3)
tags.interleave(numbers).toList() shouldBe listOf("#", 0, "#", 1, "#", 2, "#", "#")
}
Content copied to clipboard