ushort
06/19/2021, 3:19 PMif (val foo = someClass.someProperty == 1) {
// can access foo here
}dmitriy.novozhilov
06/19/2021, 3:37 PMval foo = someClass.someProperty == 1 reads as val foo = (someClass.someProperty == 1), not (val foo = someClass.someProperty) == 1 (like val declaration in when)
If you really don't want to intoduce foo to outer scope you can use some scope function
someClass.someProperty.let { foo ->
if (foo == 1) { ... }
}
or just replace if with when
when (val foo = someClass.someProperty) {
1 -> ...
}ushort
06/19/2021, 3:40 PM