有没有人知道&&的含义和||什么时候应用于Ruby中的整数?
以下是IRB中的一些例子&&和||适用于整数:
>> 1 && 2
=> 2
>> 2 && 1
=> 1
>> 15 && 20
=> 20
>> 20 && 15
=> 15
>> 0 && -1
=> -1
>> -1 && -2
=> -2
>> 1 || 2
=> 1
>> 2 || 1
=> 2
答案 0 :(得分:5)
布尔运算符&&
,||
,and
和or
是少数几个不是方法调用的语法糖,因此,没有不同的实现在不同的班级。
换句话说:对于所有对象,它们的行为完全相同,即它们对Integer
的行为与对String
的行为相同} s,Hash
es,Float
s,Symbol
s以及任何其他对象。
a && b
如果a
为假,则评估为a
(在这种情况下根本不评估b
),否则评估为b
(并且只会{ {1}}被评估)
b
如果a || b
是真实的,则评估为a
(在这种情况下根本不评估a
),否则评估为b
(并且只会{ {1}}被评估)
b
和b
是假的,其他一切都是真实的,包括nil
,false
,0
,0.0
和{{ 1}}。