2016-03-27 9 views
1

ショートif文の使用

私の質問:

方法Javaでこれが行うさが短く、その後
return x == null ? y : xまたは

myFunction(x == null ? y : x) 
+0

どのようなpythonのバージョンを使用していますか? –

+4

あなたが実際に何を求めているのか分かりません。 –

+1

私は 'x || y'はPythonバージョンの式として有効ですが、通常は 'x if x else y'です。 –

答えて

1

私は、三元法が最も効率的で最短であると信じています。しかし、さらに進めて短くしたい場合は、状況に応じて、汎用の静的メソッドまたは非静的メソッドを作成して、2つのオブジェクトを検証できます。次に、三項条件ではなく、検証されたメソッドを返します。例えば、これのようなもの。

//usage 
Employee valid(Employee x, Employee y) { 
    return v(x,y); 
} 

//generic method for validation 
<T> T v(T o1, T o2) { 
    return o1==null?o2:o1; 
} 
0

[OK]を私はあなたが

xから結果の値を渡してやりたいと思います== null? y:x

を関数の引数として使用します。

スタックオーバーフローでこれが見つかりました: Short IF - ELSE statement これが役立つかもしれません。

要約:myFunction(x == null?y:x);うまくいくはずです。

+0

はい、しかし私の質問は、方法はそれがmyFunction(x == null?y:x)のように短縮するpython – Tany