Ruby运算符

Ruby拥有内置的现代化运算符。运算符是用于执行不同操作的符号。例如,+-/*

Ruby运算符类型如下所示:

  • 一元运算符
  • 算术运算符
  • 按位运算符
  • 逻辑运算符
  • 三元运算符
  • 赋值运算符
  • 比较运算符
  • 范围运算符

1. 一元运算符

一元运算符可用在一个操作数上运行。

操作符 描述
! 布尔非
~ 按位补码
+ 一元加法

示例

在文件unary-operator.rb中,写下面的代码。

#!/usr/bin/ruby -w   

 puts("Unary operator")   
 puts(~5)   
 puts(~-5)   
 puts(!true)   
 puts(!false)

执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby unary-operator.rb
Unary operator
-6
4
false
true

F:\worksp\ruby>

2. 算术运算符

算术运算符将数值作为操作数,并将它们作为单个值返回。

操作符 描述
+ 相加运算符的两边值
- 运算符的两边的值相减,第一个数减去第二个数
/ 用右侧操作数除左侧操作数
* 将运算符的两边值相乘
** 将右侧操作数指定为左侧操作数的指数
% 将左侧操作数除以右侧操作数后返回余数

示例

在文件airthmetic-operator.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)

执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby airthmetic-operator.rb
add operator
30
subtract operator
20
multiply operator
32
division operator
5
exponential operator
25
modulo operator
1

F:\worksp\ruby>

3. 位运算符

按位运算符对位操作数进行操作。

操作符 描述
& AND运算符
OR运算符
<< 左移操作符
>> 右移操作符
^ 异或操作符
~ 补码运算符

4. 逻辑运算符

逻辑运算符对位操作数进行操作。

操作符 描述
&& AND运算符
OR运算符

5. 三元运算符

三元运算符首先检查给定条件是真还是假,然后再执行对应的条件语句。

操作符 描述
?: 条件表达式

示例

在文件ternary-operator.rb中,编写下面的代码。

#!/usr/bin/ruby -w   

 puts("Ternary operator")   
 puts(2<5 ? 5:2)   
 puts(5<2 ? 5:2)

执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby ternary-operator.rb
Ternary operator
5
2

F:\worksp\ruby>

6. 赋值运算符

赋值运算符用于为操作数分配一个值。

操作符 描述
= 简单赋值运算符
+= 相加并赋值运算符
-= 相减并赋值运算符
*= 相乘并赋值运算符
/= 相除并赋值运算符
%/ 模除并赋值运算符
**= 指数幂并赋值运算符

7. 比较运算符

比较运算符是用于比较两个操作数的大小,相等,不相等,大于,小于等等。

操作符 描述
== 等于运算符
!= 不等于运算符
> 大于运算符,左操作数大于右操作数?
< 小于运算符,右操作数大于左操作数?
>= 大于等于运算符,左操作数大于或等于右操作数?
<= 小于等于运算符,右操作数大于或等于左操作数?
<=> 组合比较运算符
.eql? 检查比较操作数相等和类型是否相同?
equal? 检查比较对象ID是否相等

示例

在文件comparison-operator.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)

执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby comparison-operator.rb
Comparison operator
false
true
false
true
false
true

F:\worksp\ruby>

8. 范围运算符

范围运算符创建一系列连续的值,包括两者之间的值的起始,结束和范围。

(..)创建一个范围,包括最后一个术语,(...)创建一个不包括最后一项的范围。

例如,对于1..5的范围,输出范围为15,范围值也就是:1,2,3,4,5。

而对于1 ... 5的范围,输出范围为14,范围值也就是:1,2,3,4。


上一篇: Ruby第一个HelloWorld程序 下一篇: Ruby变量