Я только что увидел этот блок кода в статье 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
лучше? Да, программисты, которые не знают, как использовать условный оператор, не поймут этого. Они должны научиться использовать его. Это не тайное.