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
的範圍,輸出範圍為1
到5
,範圍值也就是:1,2,3,4,5。
而對於1 ... 5
的範圍,輸出範圍為1
到4
,範圍值也就是:1,2,3,4。
上一篇:
Ruby第一個HelloWorld程式
下一篇:
Ruby變數