Chilli
11/27/2020, 8:52 PMephemient
11/27/2020, 9:03 PMephemient
11/27/2020, 9:04 PM1 2 3 1 2 3
, because each for
loop gets a new iterator:
val iterable = listOf(1, 2, 3)
for (i in iterable) { println(i) }
for (j in iterable) { println(j) }
bezrukov
11/27/2020, 9:04 PMephemient
11/27/2020, 9:04 PM1 2 3
, because by the time the second loop runs, the iterator has been consumed to the end
val iterable = listOf(1, 2, 3)
val iterator = iterable.iterator()
for (i in iterator) { println(i) }
for (j in iterator) { println(j) }
ephemient
11/27/2020, 9:06 PMfor (... in ...)
to be used on raw iteratorsChilli
11/27/2020, 9:07 PMTobias Berger
11/27/2020, 9:34 PMiterator()
function and use the returned IteratorTobias Berger
11/27/2020, 9:39 PMhasNext()
and next()
or working with mutable iterators).
If you just want to iterate over something, use Iterable (or, Collection, List, Set, ..., whatever fits best)Nir
11/27/2020, 9:53 PMNir
11/27/2020, 9:53 PMTobias Berger
11/27/2020, 10:17 PMephemient
11/28/2020, 12:23 AMfun zip3(Iterable<T>, Iterable<U>, Iterable<V>): Iterable<Triple<T, U, V>>
for example - but it's pretty rareNir
11/28/2020, 12:44 AMNir
11/28/2020, 12:45 AMNir
11/28/2020, 12:45 AM