fallback
Syntax-sugar for null
-case of nullfold that throws a NullPointerException by default.
This mainly exists for the scenario where you would use a block and/or still want to continue function chaining.
// Before -- awkward run block / breaks function chaining
val len = result?.length ?: run {
state.update { it.copy(error = "Result was null") }
return@someFunction
}
println(len.toString())
// Before -- awkward brackets to continue function chain
val len = (result?.length ?: run {
state.update { it.copy(error = "Result was null") }
return@run -1
}).let { println(it.toString()) }
// After
result?.length.fallback {
state.update { it.copy(error = "Result was null") }
return@someFunction // or return@fallback -1
}.let { println(it.toString()) }
Content copied to clipboard