Files
kotlin-fork/js/js.translator/testFiles/expression/misc/cases/iterableExtension.kt
T
2012-09-05 18:55:17 +04:00

21 lines
468 B
Kotlin

package foo
import java.util.*
import java.lang.*
public inline fun <T, C: MutableCollection<in T>> Iterator<T>.takeWhileTo(result: C, predicate: (T) -> Boolean) : C {
for (element in this) if (predicate(element)) result.add(element) else break
return result
}
fun box(): Any? {
val c = ArrayList<Int>()
for (i in 0..5) {
c.add(i)
}
val d = ArrayList<Int>()
c.iterator().takeWhileTo(d, {i -> i < 4 })
return d.size() == 4
}