Ruby の&&と and の違い
    
    
            Stewart Nguyen
    2022年4月18日
    
    Ruby
    Ruby Boolean
    
 
ブール式またはフロー制御の場合、&&と and の両方を使用できます。
それらの違いは、優先順位です。演算子 and は = よりも優先順位が低く、&&は演算子 = よりも優先順位が高くなります。
これらの 2つのブール式について考えてみます。
puts var_1 = true && false
puts var_2 = true and false
出力:
false
true
どちらの式も false を返しますが、var_1 と var_2 には異なる値が割り当てられます。
var_1 = true && false は var_1 = true && false と同等であり、var_1 は false と同等です。
対照的に、var_2 = true and false は (var_2 = true) and false として評価されます。これは、var_2 に最終的に値 true が含まれることを意味します。
puts var_1
puts var_2
出力:
false
true
このため、このような三項演算子で and を使用しないでください。
s = true and 2.even? ? 'even' : 'odd'
puts s
出力:
true
even を出力すると予想されるかもしれませんが、代わりに true を返します。
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe