Standard Library Utilities
Take If and Unless
Use takeIf and takeUnless to keep or discard a value.
Take If and Unless
TakeIfUnless.kt
fun main() {
val stock =
val available = stock.takeIf { value ->
value > 0
} ?: 0
val status = stock.takeUnless { value ->
value == 0
}?.let { value ->
"stock:$value"
} ?: "empty"
println("stock=$stock")
println("available=$available")
println("status=$status")
}
fun main() {
val stock =
val available = stock.takeIf { value ->
value > 0
} ?: 0
val status = stock.takeUnless { value ->
value == 0
}?.let { value ->
"stock:$value"
} ?: "empty"
println("stock=$stock")
println("available=$available")
println("status=$status")
}
fun main() {
val stock =
val available = stock.takeIf { value ->
value > 0
} ?: 0
val status = stock.takeUnless { value ->
value == 0
}?.let { value ->
"stock:$value"
} ?: "empty"
println("stock=$stock")
println("available=$available")
println("status=$status")
}
take-if-unless
`takeIf` returns the value when a condition is true; `takeUnless` does the inverse.