eygraber
06/20/2018, 5:09 AMunless
-like operator:
sealed class Unless {
object unless : Unless() {
override val run: Boolean = false
}
object other : Unless() {
override val run: Boolean = true
}
abstract val run: Boolean
}
inline infix fun Unless.otherwise(block: () -> Unit) {
if(run) block()
}
inline fun unless(predicate: Boolean, block: () -> Unit): Unless =
if(!predicate) {
block(); Unless.unless
}
else {
Unless.other
}
gildor
06/20/2018, 5:22 AM