Ruby 基本的賦值用 “ = ” 來完成,就像 E3.8-1.rb 如下示例:(在不產生歧義的地方,我用 # => 表示答案)
- a = 1 ;b = 2 + 3 # => a=1 ,b=5
- a ,b = b ,a # => a=5 ,b=1
- a = b = 1 + 2 + 3 # => a=6 ,b=6
- a = (b = 1 + 2) + 3 # => a=6 ,b=3
- x = 0 # => x=0
- a,b,c = x, (x+1), (x+2) # => a=0 ,b=1,c=2
Ruby 的條件運算符比 Java 更加複雜,看例子 E3.8-1.rb:
== (等於)
!= (不等於)
|
比較兩個對象的值是否相等 ,返回 true, flase
a=1; b=1.0; a==b # => true
|
eql?
|
比較兩個對象的值、類型是否相等,返回 true, flase
a=1; b=1.0; a.eql?(b) # => flase(a爲整數型,b爲浮點型)
|
equal?
|
比較兩個對象在內存中地址是否相同,返回 true, flase
a=1.0; b=1.0; a.equal?(b) # => flase
a=1.0; b=a ; a.equal?(b) # => true
|
<=>
|
比較兩個對象的大小,大於、等於、小於分別返回1,0,-1
"aab" <=> "acb" # =>-1 (第二個 a 的 ASCII 碼小於 c)
[5] <=> [4,9] # => 1 (第一個元素 5 > 4)
|
===
|
右邊的對象是否在左邊區間之內,返回 true, flase
puts (0..9)=== 3.14 # =>true
puts ('a'..'f')=== 'c' # =>true
|
=~(匹配)
|
用來比較是否符合一個正則表達式,返回模式在字符串中被匹配到的位置,否則返回 nil
|
!~ (不匹配)
|
斷言不符合一個正則表達式,返回 true, flase
|
<= < > >=
|
小於等於 小於 大於 大於等於
|
完整閱讀,請看我寫的 Ruby語言中文教程all in one