diff --git a/src/main/kotlin/me/alex_s168/kotlin_bits/Clazz.kt b/src/main/kotlin/me/alex_s168/kotlin_bits/Clazz.kt index bc9e20b..a6f0ff4 100644 --- a/src/main/kotlin/me/alex_s168/kotlin_bits/Clazz.kt +++ b/src/main/kotlin/me/alex_s168/kotlin_bits/Clazz.kt @@ -12,7 +12,7 @@ interface IndexableSequence: Sequence { data class Obj(val v: T) -data class MutObj(val v: T) +data class MutObj(var v: T) fun lazySequence(vararg init: Pair, default: Obj?, f: (Int, (Int) -> T) -> T): IndexableSequence = object : IndexableSequence { @@ -100,11 +100,8 @@ fun Sequence.limitBy(other: Sequence): Sequence = fun IndexableSequence.limitBy(other: Sequence): IndexableSequence = modifier { it.limitBy(other) } -fun Sequence.asIndexable(): IndexableSequence { - if (this is IndexableSequence) - return this - - return object : IndexableSequence { +fun Sequence.asIndexable(): IndexableSequence = + object : IndexableSequence { val iter = this@asIndexable.iterator() val values = mutableListOf() @@ -128,7 +125,6 @@ fun Sequence.asIndexable(): IndexableSequence { get(i ++) } } -} typealias Operator = (I) -> O