整数上的Ruby &&运算符

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

布尔运算符&&||and / or少数不是方法调用的语法糖,因此,在不同的类中没有不同的实现。

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

 a && b 

如果a是假的(并且在这种情况下根本不会评估b ),则计算结果为b ,否则计算结果为b (并且只有那时才会被评估)

 a || b 

如果a是真实的(并且在这种情况下根本不会评估b ),则评估为b ,否则评估为b (然后才会评估)

nilfalse都是假的,其他一切都是真实的,包括0,0.0, ''[]{}