-2

タイプの三項代入式の短縮形を使用することは可能ですか?

boolean x = false;
// ... code ...
a = x ? b : a;   // Assigning a to a is pointless
a += x ? 1 : 0;  // Adding 0 to a is pointless

私はその線に沿って何かを考えています

a = x ? b;   // Assign b to a if x is true
a += x ? 1;  // Add 1 to a if x is true

入力の手間が省けるというわけではありませんが、このようなものが存在するかどうかに興味があります。私は最近、PHP 7 でnull 合体演算子を発見しました。これは、似たようなことを行います。私には、それよりもはるかにきれいに見えます

if( x ) a = b;
if( x ) a += 1;

これらは割り当てであり、左から右に読むと三項式を使用する方が自然に見えるためです。想定される重複した質問は、具体的には割り当てに関するものではありません。私の意見では、これは三項演算子の特別な使用例です。

4

1 に答える 1