@@ -347,7 +347,7 @@ fun gridPositions(dimensions: Pair<Int, Int>) = gridPositions(dimensions.first,
347347fun gridPositions (height : Int , width : Int ) = (0 .until(height)).flatMap { y -> (0 .until(width)).map { x -> p(y, x) } }
348348
349349
350- fun Iterable <Pair < Long , Long > >.pointsDisplay (empty : String = " "): String {
350+ fun Iterable<Position >.pointsDisplay (empty : String = " "): String {
351351 val (maxX, maxY) = p(maxOf { it.first }, maxOf { it.second })
352352 val display = arrayListOf<List <String >>()
353353 for (y in 0 .. maxY) {
@@ -356,6 +356,15 @@ fun Iterable<Pair<Long, Long>>.pointsDisplay(empty: String = " "): String {
356356 return display.joinToString(" \n " ) { it.joinToString(" " ) }
357357}
358358
359+ // fun Iterable<Pair<Long, Long>>.pointsDisplay(empty: String = " "): String {
360+ // val (maxX, maxY) = p(maxOf { it.first }, maxOf { it.second })
361+ // val display = arrayListOf<List<String>>()
362+ // for (y in 0..maxY) {
363+ // display.add((0..maxX).map { x -> if (p(x, y) in this) "$CYAN#$RESET" else empty })
364+ // }
365+ // return display.joinToString("\n") { it.joinToString("") }
366+ // }
367+
359368fun Collection<Int>.toRange () = IntRange (this .first(), this .last())
360369fun Collection<Long>.toRange () = LongRange (this .first(), this .last())
361370fun Pair <Int , Int >.toRange () = IntRange (this .first, this .second)
@@ -392,4 +401,6 @@ fun Int.padLeft(length: Int, value: Char): String {
392401 return this .toString().padStart(length, value)
393402}
394403
395- fun Char.int () = this .toString().toInt()
404+ fun Char.int () = this .toString().toInt()
405+
406+ fun <T ,U ,V > t (t : T , u : U , v : V ) = Triple (t, u, v)
0 commit comments