Объясните: этот вопрос больше связан с проектными намерениями Котлина. Многие языки выражений поддерживают как 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?