karelpeeters
11/07/2018, 2:51 PMval str = "hey"
when (val line = str) {
"abc" -> println("abc")
line.startsWith("h") -> println("starts with h")
}
Any reason this doesn't work? It says Incompatible type: Boolean and String
on the .startsWith
part.MrNiamh
11/07/2018, 2:52 PMkarelpeeters
11/07/2018, 2:52 PMSpike Baylor
11/07/2018, 3:03 PMkarelpeeters
11/07/2018, 3:04 PMval str = "hey"
when {
str == "abc" -> println("abc")
str.startsWith("h") -> println("starts with h")
}
Spike Baylor
11/07/2018, 3:04 PMmarstran
11/07/2018, 3:10 PMval bool = false
when (val b = bool) {
b == true -> println(1)
else -> println(2)
}
Here, b
is equal to the result of b == true
, but b == true
would be false. So the result would be ambigous.karelpeeters
11/07/2018, 3:10 PMmarstran
11/07/2018, 3:11 PMb == true -> println(1)
would both print and not print at the same time 😄 Schrödinger codeHamza
11/07/2018, 4:22 PMkarelpeeters
11/07/2018, 4:23 PMstartsWith
and compare line
with the return value..startsWith("h")
or something.Egor Trutenko
11/07/2018, 4:26 PMkarelpeeters
11/07/2018, 4:26 PMwhen
needs some upgrades.