Ruby&&整数运算符

时间:2015-05-27 09:17:50

标签: ruby operator-keyword

有没有人知道&&的含义和||什么时候应用于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

1 个答案:

答案 0 :(得分:5)

布尔运算符&&||andor是少数几个不是方法调用的语法糖,因此,没有不同的实现在不同的班级。

换句话说:对于所有对象,它们的行为完全相同,即它们对Integer的行为与对String的行为相同} s,Hash es,Float s,Symbol s以及任何其他对象。

a && b
如果a为假,则

评估为a(在这种情况下根本不评估b),否则评估为b(并且只会{ {1}}被评估)

b

如果a || b 是真实的,则评估为a(在这种情况下根本不评估a),否则评估为b(并且只会{ {1}}被评估)

bb是假的,其他一切都是真实的,包括nilfalse00.0和{{ 1}}。