Диапазоны в when в Kotlin
В ветке when можно проверить,
что значение лежит в интервале.
Пишут in, две точки и границы.
Число 3 лежит от 1 до 5.
На экран попадет "small":
val num = 3
when (num) {
in 1..5 -> println("small")
in 6..10 -> println("medium")
else -> println("large")
}
Число 8 попадает во второй интервал.
На экран попадет "medium":
val num = 8
when (num) {
in 1..5 -> println("small")
in 6..10 -> println("medium")
else -> println("large")
}
Проверка «не входит» пишется !in.
Число 12 не лежит от 1 до 10.
На экран попадет "out of range":
val num = 12
when (num) {
in 1..10 -> println("in range")
else -> println("out of range")
}
Дано число:
val score = 74
От 0 до 59 выведите "fail",
от 60 до 79 - "good",
от 80 до 100 - "excellent",
иначе "invalid score".
Дано число:
val month = 11
Месяцы 12, 1 и 2 выведите как "winter",
3, 4 и 5 - "spring",
6, 7 и 8 - "summer",
9, 10 и 11 - "autumn",
иначе "unknown month".