jmfayard
09/17/2019, 5:20 AMgildor
09/17/2019, 5:29 AMgildor
09/17/2019, 5:29 AMjmfayard
09/17/2019, 5:30 AMgildor
09/17/2019, 5:30 AMjmfayard
09/17/2019, 5:31 AMgildor
09/17/2019, 5:31 AMgildor
09/17/2019, 5:32 AMjmfayard
09/17/2019, 5:32 AMgildor
09/17/2019, 5:33 AMgildor
09/17/2019, 5:33 AMjmfayard
09/17/2019, 5:35 AMgildor
09/17/2019, 5:35 AMval city = person.city
val country = person.country
gildor
09/17/2019, 5:35 AMprintln("City=${person.city} and Country=${person.country}")
gildor
09/17/2019, 5:36 AMjmfayard
09/17/2019, 5:38 AMwhen(val {city, country} = person) {
city.isGreat() && country in EUROPE -> ...
}
gildor
09/17/2019, 5:40 AMif (person.city.isGreat() && person.country in EUROPE) {}
Also proably even more readablejmfayard
09/17/2019, 5:41 AMgildor
09/17/2019, 5:41 AMgildor
09/17/2019, 5:41 AMgildor
09/17/2019, 5:42 AMgildor
09/17/2019, 5:42 AMgildor
09/17/2019, 5:44 AMjmfayard
09/17/2019, 5:48 AMjmfayard
09/17/2019, 5:51 AMgildor
09/17/2019, 5:54 AMgildor
09/17/2019, 5:55 AMgildor
09/17/2019, 5:57 AMval techCities = listOf("Paris", "Berlin", "London", "New York")
person.city !in techCities
Which for me reads even better without destructuring
Also
city =="London" || city == "Paris" -> city in listOf("London", "Paris")
Or even:
val expensiveCities = listOf("London", "Paris")
person.city in expensiveCities
jmfayard
09/17/2019, 6:04 AMService
that is not a data class and do
val (a,b,c) = with(service) { listOf(a, someFunctionReturningB(), this.a.c) }
gildor
09/17/2019, 6:06 AMval a = service.a
val b = someFunctionReturningB() // or a.someFunctionReturningB()? One more reason to avoid scope in this case
val c = service.a.c
jmfayard
09/17/2019, 7:03 AMTriple
instead of listOf()
for when we have different types. I updated my example