ウィキペディアの条件演算子に関する記事で、次のコード ブロックを見ました。
Vehicle new_vehicle = arg == 'B' ? bus :
arg == 'A' ? airplane :
arg == 'T' ? train :
arg == 'C' ? car :
arg == 'H' ? horse :
feet;
コードを少し変更しましたが、考え方は同じです。この条件演算子の使用は受け入れられると思いますか? if
-コンストラクトよりもはるかに簡潔でありelse
、スイッチを使用すると、まったく新しい一連のバグの可能性が確実に開かれます (失敗した人はいますか?)。また、if
- else
s andswitch
は R 値として使用できないため、最初に変数を作成し、初期化してから、必要に応じて割り当てる必要があります。
私はこれが本当に好きですが、他の人がどう思うか疑問に思っています。
しかし、フォーマットは不可欠です。
編集:私はまだこれが好きです。switch
しかし、「このために声明を出した」という人たちの気持ちは理解できます。わかりました、そうかもしれません。しかし、条件が を返す関数呼び出しである場合はどうbool
でしょうか? または、スイッチを入れることができない他の何百万ものもの。
あなたは本当に巨大なチェーンが優れていると私に納得させようとしているのif
ですelse
か?はい、条件演算子の使い方を知らないプログラマーはこれを理解できません。彼らはそれを使用する方法を学ぶ必要があります。それは難解ではありません。