В Java, у меня есть такое выражение, как следующее:Java тройной (встроенные) операторы: экранный Comparation переменные
return (a.getValue() > b.getValue()) ? a.getValue() : b.getValue();
Когда мне было около 13 лет, я использовал, чтобы закодировать в MSL (Mirc Scriptint Language) , Этот язык имел следующий тройной оператор:
return iif($valueOfA > $valueOfB, $v1, $v2);
где $ v1 и v2 $ представляют $ valueOfA и $ valueOfB.
Я не нравится, что я должен назвать a.getValue()
и b.getValue()
в два раза, а также это очень некрасиво (и ломает точку инлайн оператора):
valA = a.getValue();
valB = b.getValue();
return (valA > valB ? valA : valB);
Так я ищу что-то вроде этого:
return (a.getValue() > b.getValue) ? [param1] : [param2];
Здесь вы можете просто уйти с 'Math.max'. Но серьезно: в Java приходится полагаться на компилятор (hotspot). Таким образом, это помогает сделать методы окончательными. Другой язык: 'let av = a.getValue(), bv = b.getValue() в av> bv?av: bv'. –