Ruby 教程 之 Ruby 运算符 11
Ruby 运算符
Ruby 支持一套丰富的运算符。大多数运算符实际上是方法调用。例如,a + b 被解释为 a.+(b),其中指向变量 a 的 + 方法被调用,b 作为方法调用的参数。
对于每个运算符(+ - / % * & | ^ << >> && ||),都有一个相对应的缩写赋值运算符(+= -= 等等)。
Ruby 运算符的优先级
下表按照运算符的优先级从高到低列出了所有的运算符。
方法 运算符 描述
是 :: 常量解析运算符
是 [ ] [ ]= 元素引用、元素集合
是 指数
是 ! ~ + - 非、补、一元加、一元减(最后两个的方法名为 +@ 和 -@)
是 / % 乘法、除法、求模
是 + - 加法和减法
是 >> << 位右移、位左移
是 & 位与
是 ^ | 位异或、位或
是 <= < > >= 比较运算符
是 <=> == === != =~ !~ 相等和模式匹配运算符(!= 和 !~ 不能被定义为方法)
&& 逻辑与
|| 逻辑或
.. ... 范围(包含、不包含)
? : 三元 if-then-else
= %= { /= -= += |= &= >>= <<= = &&= ||= = 赋值
defined? 检查指定符号是否已定义
not 逻辑否定
or and 逻辑组成
注意:在方法列标识为 是 的运算符实际上是方法,因此可以被重载。