Я только что увидел этот блок кода в статье Wikipedia об условных операторах:
Vehicle new_vehicle = arg == 'B' ? bus      :
                      arg == 'A' ? airplane :
                      arg == 'T' ? train    :
                      arg == 'C' ? car      :
                      arg == 'H' ? horse    :
                      feet;
Я немного изменил код, но идея такая же. Вы нашли бы это использование условного оператора приемлемым? Это гораздо более кратким, чем конструкция if - else, и с помощью коммутатора определенно откроется целый новый набор возможностей для ошибок (проваливается кто-нибудь?). Кроме того, if - else и switch не могут использоваться как значения R, поэтому вам нужно сначала создать переменную, инициализировать ее и затем назначить по мере необходимости.
Я действительно так люблю, но мне интересно, что думают другие.
Но форматирование имеет важное значение.
EDIT: Мне все еще нравится это. Но я понимаю тех, кто говорит, что для этого было сделано выражение switch. Хорошо, может быть, так. Но что, если условия являются вызовами функций, возвращающими bool? Или миллион других вещей, которые вы не можете включить.
Вы меняете любовников, которые действительно пытаются убедить меня, что огромная цепочка if - else лучше? Да, программисты, которые не знают, как использовать условный оператор, не поймут этого. Они должны научиться использовать его. Это не тайное.
