jimn
12/13/2019, 4:20 PMraulraja
12/13/2019, 4:36 PMinline class MyClass(val value: IntArray)
operator fun MyClass.get(range: IntRange): List<Int> =
value.filter { it in range }
val myClass: MyClass = MyClass(intArrayOf(0, 1, 2, 3, 4))
val range: List<Int> = myClass[2..5]
jimn
12/13/2019, 4:50 PMtypealias myvec = Array<Pair<String, Any?>>
@JvmName("va")
operator fun myvec.get(vararg indexes: Int) = this[indexes]
@JvmName("ip")
private operator fun myvec.get(indexes: Iterable<Int>) =this[indexes.toList().toIntArray()]
@JvmName("squelch")
operator fun myvec.get(indexes: IntArray) = Array(indexes.size) { this[indexes[it]] }
val x = {
val zyx = listOf("z", "y", "x", "w")
val testme: myvec = zyx.zip(zyx).toTypedArray()
val res = testme[3, 2, 1, 0]
val res2 = testme[3.downTo(0)]
val res3 = testme[1 until 3]
val res4 = testme[intArrayOf(3, 2, 1, 0)]
}
raulraja
12/13/2019, 10:39 PM