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