本文概述
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 |
|---|---|
| .. | 范围包括上一个学期 |
| … | 范围不包括最后一个学期 |
srcmini
评论前必须登录!
注册