1.非操作符
非操作符 | 名称 |
( ) | 圆括号 |
[] | 方括号 |
{} | 花括号 |
. | 圆点 |
, | 逗号 |
; | 分号 |
: | 冒号 |
:: | 双冒号 |
=> | 箭头 |
* | 星号 |
& | 与 |
< | 小于 |
2.一元操作符
操作符 | 描述 |
+x | 一元 + 操作符返回其操作数的值。 |
-x | 一元 - 操作符对其操作数的数值取负。 |
defined? | 它测试其操作数是否已经被定义过了。 |
3.算术操作符
操作符 | 描述 |
x + y | 加法,字符串连接操作 |
x - y | 减法 |
x * y | 乘法,字符串重复操作 |
x / y | 除法 |
x % y | 余数,字符串占位插值 |
x ** y | 求幂 |
4.赋值操作符
操作符 | 描述 |
x = y | 赋值 |
x += y | 加法赋值 |
x -= y | 减法赋值 |
x *= y | 乘法赋值 |
x /= y | 除法赋值 |
x %= y | 余数赋值 |
x **= y | 求幂赋值 |
x &&= y | 逻辑与赋值 |
x ||= y | 逻辑或赋值 |
x &= y | 位逻辑与赋值 |
x |= y | 位逻辑或赋值 |
x ^= y | 位逻辑异或赋值 |
x <<= y | 左移位赋值 |
x >>= y | 右移位赋值 |
5.相等性操作符
操作符 | 名称 | 描述 |
x == y | 相等性 | 如果操作数相等,等于操作符 == 返回 true ,否则返回 false 。 |
x != y | 不等 | 与== 操作符相反,如果操作数不相等,不等于操作符 != 返回 true ,否则返回 false 。 |
x === y | 条件相等性 | 它被case 条件表达式隐式地使用,对它的显式使用远远少于==。另外,Range 、Class 、Regexp 作为一种成员关系或模式匹配操作符, |
=~ | 模式匹配 | 用于模式匹配。 |
!~ | 模式匹配 | !~ 操作符与=~ 操作符相反。 |
6.比较操作符
操作符 | 名称 | 描述 |
x < y | 小于 | 如果左侧操作数小于右侧操作数,< 操作符返回 true ,否则返回 false 。 |
x <= y | 小于或等于 | 如果左侧操作数小于或等于右侧操作数,<= 操作符返回 true ,否则返回 false 。 |
x > y | 大于 | 如果左侧操作数大于右侧操作数,> 操作符返回 true ,否则返回 false 。 |
x >= y | 大于或等于 | 如果左侧操作数大于或等于右侧操作数,>= 操作符返回 true ,否则返回 false 。 |
<=> | 相对顺序 | 如果左侧操作数小于右侧操作数,则返回-1 ;如果左操作数更大,则返回1 ;如果相等,则返回0 ;如果两个操作数不可比较,则返回nil 。 |
7.布尔逻辑操作符
操作符 | 名称 | 描述 |
x && y | 条件逻辑与(又称“短路逻辑与”) | 如果 x 和 y 的计算结果都为 true ,则 x & y 的结果为 true ,否则,结果为 false 。 |
x || y | 条件逻辑或(又称”短路逻辑或”) | 如果 x 或 y 的计算结果为 true ,则 x | y 的结果为 true 。 否则,结果为 false 。 |
!x | 逻辑非 | 如果 x 的计算结果为 false 或nil ,则 !x 的结果为 true ,否则,结果为 false 。 |
x and y | and操作符 | && 操作符的低优先级版本,之所以使用and 操作符,是因为它的名字是英文单词,更易于阅读。 |
x or y | or操作符 | || 操作符的低优先级版本,之所以使用or 操作符,是因为它的名字是英文单词,更易于阅读。 |
not x | not操作符 | ! 操作符的低优先级版本,之所以使用not 操作符,是因为它的名字是英文单词,更易于阅读。 |
8.按位和移位操作符
操作符 | 名称 | 描述 |
~x | 按位求补 | ~ 操作符通过反转每个位产生其操作数的按位求补。 |
x & y | 位逻辑与 | & 操作符计算其整型操作数的位逻辑 与。 |
x | y | 位逻辑或 | | 操作符计算其整型操作数的位逻辑 或。 |
x ^ y | 位逻辑异或 | ^ 操作符计算其整型操作数的位逻辑 异或。 |
x << y | 向左移位 | << 操作符将其左侧操作数向左移动右侧操作数定义的位数。 |
x << y | 追加操作 | 追加右侧内容至左侧对象 |
x >> y | 向右移位 | >> 操作符将其左侧操作数向右移动右侧操作数定义的位数。 |
9.三元条件操作符
操作符 | 描述 |
x ? y : z | 如果 x 为 true ,则计算 y ;如果 x 为 false ,则计算 z 。 |
10.范围操作符
操作符 | 描述 |
x..y | 从x到y(包括y) |
x...y | 从x到y(不包括y) |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/1516.html