2012-03-11 17 views

答えて

37

ブール AND演算子&&は、最初にfalseでない場合は2番目のオペランドを返します。 01は、Rubyのブール式ではtrueです。ブール式ではnilfalseのみがfalseです。

nil && 15 # => nil 
15 && 17 # => 17 
15 && nil # => nil 
7

01はRubyで真理値を表すものではありません。ルビーでは、nilまたはfalse以外のものはすべてtrueです。あなたはこれにそれを追加した場合:

とし、& &事業者は、彼らの最初のオペランドを評価します。 falseの場合、式はfalseを返します。そうでない場合、式は第2オペランドの値を返します。

true && trueと評価され、2番目のオペランドの結果が返されます。もしあなたが3 && 4と書いたら、あなたは4になりました!ここでの優れた答えに加えて

3

おそらく論理ビット単位の論理積を混乱させる。

$ irb 
1.9.3-p125 :001 > 1 & 0 
=> 0 
1.9.3-p125 :002 > 0 & 1 
=> 0 
関連する問題