三項演算子を使用して大量のIF/ELSE文をコードから削除しようとしています。Groovy三項演算子がnullを出力する
//Checks to see if person exists //if not then add //else print
println doesPersonExist(personName) ? addPerson(personName) : 'No such person'
addPerson(personName)メソッドを実行すると、printlnによってNULLが出力されるという問題があります。とにかくコンソールへのprintngからのNULLはありますか?私はprintlnを削除することができると理解していますが、 'No such person'は印刷されません。
UPDATE:私は最終的に必要に応じて、この作業を取得するために管理 - 私は単にものprintlnと「いいえ、そのような人」を取り出して、これでそれらを置き換え:単にprintlnの声明と呼ばれる方法が存在する
doesCarrierExist(carrierName) ? exists() : addCarrier(carrierName)
ベースクラス内で私はこれが将来同様の問題を抱える人に役立つことを願っています。
「ヌル」の印刷を避ける正しい方法は、 'println'の呼び出しを避けることです。つまり、コードを 'if'ステートメントを使って変更する必要があります。それらには何も問題はありません。 – yole
'doesPersonExist(personName)のようなものをお探しですか? addPerson(personName):println( 'そのような人') '? –