Ruby 教程 之 Ruby 运算符 1
Ruby 运算符
Ruby 支持一套丰富的运算符。大多数运算符实际上是方法调用。例如,a + b 被解释为 a.+(b),其中指向变量 a 的 + 方法被调用,b 作为方法调用的参数。
对于每个运算符(+ - / % * & | ^ << >> && ||),都有一个相对应的缩写赋值运算符(+= -= 等等)。
Ruby 算术运算符
假设变量 a 的值为 10,变量 b 的值为 20,那么:
运算符 描述 实例
- 加法 - 把运算符两边的操作数相加 a + b 将得到 30
- 减法 - 把左操作数减去右操作数 a - b 将得到 -10
- 乘法 - 把运算符两边的操作数相乘 a b 将得到 200
/ 除法 - 把左操作数除以右操作数 b / a 将得到 2
% 求模 - 把左操作数除以右操作数,返回余数 b % a 将得到 0
* 指数 - 执行指数计算 ab 将得到 10 的 20 次方
Ruby 比较运算符
假设变量 a 的值为 10,变量 b 的值为 20,那么:
运算符 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
<=> 联合比较运算符。如果第一个操作数等于第二个操作数则返回 0,如果第一个操作数大于第二个操作数则返回 1,如果第一个操作数小于第二个操作数则返回 -1。 (a <=> b) 返回 -1。
=== 用于测试 case 语句的 when 子句内的相等。 (1...10) === 5 返回 true。
.eql? 如果接收器和参数具有相同的类型和相等的值,则返回 true。 1 == 1.0 返回 true,但是 1.eql?(1.0) 返回 false。
equal? 如果接收器和参数具有相同的对象 id,则返回 true。 如果 aObj 是 bObj 的副本,那么 aObj == bObj 返回 true,a.equal?bObj 返回 false,但是 a.equal?aObj 返回 true。