iex
03/10/2019, 12:04 PMwhen
clause, to be used in the right side?
when {
toFoo(line) != null -> elements.add(toFoo(line)) // reuse left side result instead?
}
Pavlo Liapota
03/10/2019, 12:17 PMtoFoo(line) != null
but just part of it tooFoo(line)
.
I would recommend to try to rewrite your code using different constructs.
For example, you can write
toFoo(line)?.let { elements.add(it) }
iex
03/10/2019, 12:34 PMwhen
expression, no?sitepodmatt
03/10/2019, 12:37 PMtoFoo(line).let { fooLine ->
when {
fooLine != null -> doSomething
else -> do2
}
}
sitepodmatt
03/10/2019, 12:38 PMval fooLine = toFoo(line)
when {
fooLine != null -> doSomething
else -> do2
}
iex
03/10/2019, 1:57 PMiex
03/10/2019, 1:58 PMiex
03/10/2019, 1:58 PMPavlo Liapota
03/10/2019, 2:06 PMby lazy
for local variable
val fooLine by lazy { toFoo(line) }
iex
03/10/2019, 2:13 PMiex
03/10/2019, 2:17 PMiex
03/10/2019, 2:17 PM