2016-04-13 3 views
1

私は「最初のものがnullの場合は2番目のものを選択してください」と表現できるかどうかを知りたいと思います。`a = b ||を実行できますか? Rubyでc?

foo = bar || doe 
#if bar is nil, foo = doe 
+0

あなたは、コードのそのビットを実行しようとしたときに何が起こりましたか?私の推測では、あなたはブール値を取得します。 – Oisin

+1

はい、あなたはそれを行うことができるはずです! – dp7

+2

RailsではなくRubyの質問 – Ilya

答えて

4

期待通りに動作します:

bar = nil 
doe = "Hello" 
foo = bar || doe 
# => "Hello" 
+0

耳に良い;)実際の文脈ではテストできませんでしたので、私の文法に疑問がありました。 nil、false、 "null"? – user1713964

+1

'false'または' nil'です。 '' ''や0ではありません。 –

4

よく、そうです。 a ||= bは、nilまたはfalseの場合はa = a || bと等しくなり、結果は2番目の要素になります。

+0

これは正しくありません。 'a = a || b'は 'foo = bar ||と等しくありません。 doe'と同じですが、 'foo = foo || doe'。 – Pavan

+0

あなたはその答えを注意深く読んだことがありますか?もう一度やり直すかもしれません。私は 'a || = b'は' a = a || b。そして、QSはすでに '|| ='について知っているので、同等性は彼の質問に答えるべきです。 – Almaron

+0

私は誤解されるかもしれませんが、 'foo = bar || doe'は 'a|| = b'のようなものですか? – Pavan

関連する問題