本文概述
Ruby具有一组内置的现代运算符。运算符是用于执行不同操作的符号。例如+, -, /, *等。
运算符类型
- 一元运算符
- 算术运算符
- 按位运算符
- 逻辑运算符
- 三元运算符
- 赋值运算符
- 比较运算符
- 范围运算符
一元运算符
一元运算符期望一个单一的操作数继续运行。
Operator | Description |
---|---|
! | Boolean NOT |
~ | 按位补码 |
+ | 一元加 |
例子
在文件hello.rb中, 编写以下代码。
#!/usr/bin/ruby -w
puts("Unary operator")
puts(~5)
puts(~-5)
puts(!true)
puts(!false)
输出
算术运算符
算术运算符将数值作为操作数, 并以单个值返回它们。
Operator | Description |
---|---|
+ | 从运算符的两边相加值。 |
– | 从运算符两侧减去值。 |
/ | 将左侧操作数除以右侧操作数。 |
* | 将运算符两边的值相乘。 |
** | 右侧操作数成为左侧操作数的指数。 |
% | 将左侧操作数除以右侧操作数返回的余数。 |
例子
在文件hello.rb中, 编写以下代码。
#!/usr/bin/ruby -w
puts("add operator")
puts(10 + 20)
puts("subtract operator")
puts(35 - 15)
puts("multiply operator")
puts(4 * 8)
puts("division operator")
puts(25 / 5)
puts("exponential operator")
puts(5 ** 2)
puts("modulo operator")
puts(25 % 4)
输出
按位运算符
按位运算符处理位操作数。
Operator | Description |
---|---|
& | AND operator |
| | 或运算符 |
<< | 左移运算符 |
>> |
右移运算符 |
^ | XOR运算符 |
~ | Complement operator |
逻辑运算符
逻辑运算符处理位操作数。
Operator | Description |
---|---|
&& | AND operator |
|| | OR operator |
三元运算符
三元运算符首先检查给定条件是对还是错, 然后执行条件。
Operator | Description |
---|---|
?: | 条件表达式 |
例子
在文件hello.rb中, 编写以下代码。
#!/usr/bin/ruby -w
puts("Ternary operator")
puts(2<5 ? 5:2)
puts(5<2 ? 5:2)
输出
赋值运算符
赋值运算符为操作数分配一个值。
Operator | Description |
---|---|
= | 简单的赋值运算符 |
+= | 添加赋值运算符 |
-= | 减去赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法运算符 |
%= | 模分配算子 |
**= | 指数赋值运算符 |
比较运算符
比较运算符比较两个操作数。
Operator | Description |
---|---|
== | 平等算子 |
!= | 不等于运算符 |
> | 左操作数大于右操作数 |
< |
右操作数大于左操作数 |
>= | 左操作数大于或等于右操作数 |
<= | 右操作数大于或等于左操作数 |
<=> | 组合比较运算符 |
.eql? | 检查操作数的相等性和类型 |
equal? | 检查对象ID |
例子
在文件hello.rb中, 编写以下代码。
#!/usr/bin/ruby -w
puts("Comparison operator")
puts(2 == 5)
puts(2 != 5)
puts(2 > 5)
puts(2 < 5)
puts(2 >= 5)
puts(2 <= 5)
输出
范围运算符
范围运算符创建一系列连续值, 这些连续值包括一个开始值, 一个结束值和介于两者之间的值范围。
(..)创建一个包含最后一项的范围, 而(…)创建一个不包含最后一项的范围。
例如, 对于1..5范围, 输出范围是1到5。
对于1 … 5的范围, 输出范围为1到4。
Operator | Description |
---|---|
.. | 范围包括上一个学期 |
… | 范围不包括最后一个学期 |
评论前必须登录!
注册