Объясните: этот вопрос больше связан с проектными намерениями Котлина. Многие языки выражений поддерживают как Ternary operator
, так и if expression
[например, Ruby, Groovy.]
Прежде всего, я знаю, что Groovy поддерживает как Ternary operator
, так и Elvis operator
: Тернарный оператор в Groovy. Поэтому я не думаю, что это синтаксическая проблема.
Затем в официальных документах говорилось:
В Kotlin, if является выражением, т.е. возвращает значение. Поэтому нет тройного оператора (условие? Then: else), потому что обычный, если отлично работает в этой роли.
И это меня не убеждает. Потому что Kotlin поддерживает Elvis operator
, который обычный, если работает отлично в этой роли.
Я думаю, что Ternary operator
иногда лучше обычного if
, хотя мне интересно, почему Kotlin просто не поддерживает Ternary operator
?