C優先順位テーブルに従って、三項条件演算子は右から左に の結合性を持ちます。さらに別の条件演算子入れ子の質問
それで、それは同等のif-elseラダーに直接変換可能ですか?例えば
、 できます。
は単に解釈さ
x?y?z:u:v;
:(他一致:)(もし最も近い不対とによって
if(x)
{
if(y)
{ z; }
else
{ u; }
}
else
{ v; }
)?あるいは、右から左への連合性は、他の取り決めを暗示していますか?
+1、私はそれもありだと思いますが、 wiser *実際のプロダクションコードで条件演算子をネストするのではなく: –
@PéterTörök:合意しました! – Ray
「使っていない」とは、過大評価されていると思います。 '?'を 'then'と': 'を' else'と置き換えて、あなたは多くの言語で完全に有効な選択構文を持っています。私はこのようなネストされた条件文を常に書き、それぞれ新しいことを確認しますか?と:は、新しい行に正しいインデントで表示されます。 if/elseブロックと同じくらい読みやすい。 –