3.8 賦值和條件運算符

  Ruby 基本的賦值 “ = ” 來完成,就像 E3.8-1.rb 如下示例:(在不產生歧義的地方,我用 # => 表示答案)

ruby 代碼
  1. a = 1 ;b =  2 + 3          # => a=1 ,b=5        
  2. a ,b = b ,a                      # => a=5 ,b=1        
  3. a = b = 1 + 2 + 3            # => a=6 ,b=6       
  4. a = (b = 1 + 2) + 3          # => a=6 ,b=3        
  5. x = 0                              # => x=0             
  6. 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) # => flasea爲整數型,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    
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章