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變數