Shawn
bdawg.io
inline fun forEachJumpable(start: Int, endInclusive: Int, block: (Int, (Int) -> Int) -> Unit) { var i = start if (start > endInclusive) return while (i <= endInclusive) { var changed = false block(i) { i += it changed = true i } if (!changed) i++ } } fun foo() { // prints: 1 3 6 7 12 13 14 15 forEachJumpable(1, 16) { i, jump -> if (i % 2 == 0) { jump(i / 2) } else { print("$i ") } } }
A modern programming language that makes developers happier.