Во-первых, я наткнулся на этот вопрос в последнее время и не будучи в состоянии найти хорошее объяснение для этого:Условные операции Тройные
int x = (30 > 15)?(14 > 4) ? 1 : 0 : 2;
Я использовал трехкомпонентную выражение перед так что я знаком с ними, честно говоря, я даже не знаю, как назвать это выражение ... Я думаю, что он ломается, как этот
if (con1) or (con2) return 1 // if one is correct
if (!con1) and (!con2) return 0 // if none are correct
if (con1) not (con2) return 2 // if one but not the other
как я сказал, я не знаю, так что я мог бы быть миллион миль.
Я выбрал Тед HOPP ответ, поскольку это дает немного больше ясности .. Спасибо, но только, чтобы быть ясно, это называется вложенным трехкомпонентное состояние? – DVN
Я не думаю, что для этой конструкции существует определенное стандартное имя, но да, «вложенные троичные операторы» или аналогичный язык были бы понятны большинству людей. Идея состоит в том, что структура тернарного оператора - '? : '- разрешает любое выражение после'? 'Или': ', включая другие выражения тернарного оператора. –