thana
08/11/2021, 9:32 AMfun foo(): Boolean {
val bool = isConditionMet()
if (bool) {
log(…)
}
return bool
}
Javier
08/11/2021, 9:33 AMthana
08/11/2021, 9:33 AMif
thana
08/11/2021, 9:34 AMfun Boolean.ifTrue()
Javier
08/11/2021, 9:35 AMfun foo(): Boolean = isConditionMet().also { if (this) log(...) }
You can do a lambda for that, but the code will looks very similarthana
08/11/2021, 9:36 AMdave08
08/11/2021, 9:37 AMJavier
08/11/2021, 9:37 AMthana
08/11/2021, 9:38 AMJavier
08/11/2021, 9:39 AMfun Boolean.ifTrue(block: () -> Unit): Boolean {
if (this) block()
return this
}
fun foo(): Boolean = isConditionMet().ifTrue { log(...) }
Javier
08/11/2021, 9:40 AMalsoIfTrue
is a better nameCLOVIS
08/11/2021, 12:11 PMfun foo(): Boolean =
isConditionMet()
?.takeIf { it }
?.also { log(...) }
?: false
but honestly, I don't think it's easier to read.Ayfri
08/11/2021, 1:38 PM