3d8d92c7d3
- test data files renamed from *.jet to *.kt
14 lines
413 B
Kotlin
14 lines
413 B
Kotlin
trait Iterator<out T> {
|
|
fun next() : T
|
|
val hasNext : Boolean
|
|
|
|
fun <R> map(transform: (element: T) -> R) : Iterator<R> =
|
|
object : Iterator<R> {
|
|
override fun next() : R = transform(<!NO_THIS!>this@map<!>.next())
|
|
|
|
override val hasNext : Boolean
|
|
// There's no 'this' associated with the map() function, only this of the Iterator class
|
|
get() = <!NO_THIS!>this@map<!>.hasNext
|
|
}
|
|
}
|