2016-06-25 18 views

答えて

7

、それは様々な他の言語のためにそれはdoesnの値を評価するよう三項演算子と同等である場合にt。 (あなたはルビーから来ている場合)のステートメント場合には、割り当てがあるとしてRubyはそれを採用した理由

のでx = if false, do: 1, else: 2

は基本的にx = false? 1 : 2

わからないです。 C言語では、同等のif文を使用してコードが拡張されます。もちろん、あまりにも辛いためにCプログラマは嫌な思いを抱いていて、ネストされた三つ組にネストされた多くの人がいました:)

+1

http://elixir-examples.github.io/examples/ternary –

10

はい、エリクシールの三項演算子のようなものはありません。おそらく最も近いのはifというキーワードです。

if condition, do: true_expr, else: flase_expr 
+0

どういう意味ですか? –

4

私はtweetでこの代替を見て、私に

is_it_true && "TRUE" || "FALSE" 
+4

これには大きな問題があることに注意してください。 'is_it_true && false || :foobar'は常に ':foobar'を返し、' false'を返しません。これは、 'x && false'は' x'の任意の値に対して常に偽の値に評価されるからです - そして 'false || x'は 'x'の値に対して常に' x'に評価されます。あなたが 'false'ではなく' nil'を持っていれば同じ問題があります。 –

+0

'a = true && 1 || 2 '、あなたはそれをうまく構成すれば私はここに邪魔をしていません。 – Besto