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
的範圍,輸出範圍爲1
到5
,範圍值也就是:1,2,3,4,5。
而對於1 ... 5
的範圍,輸出範圍爲1
到4
,範圍值也就是:1,2,3,4。