在ruby中有一些和別的語言不同的操作符,把我所遇到的列舉出來.....
1,||=
一次在看activescaffold插件源碼時看到里面有好多 ||= 操作符,于是測試了下
b = nil
puts b # 輸出為nil
f = 4
f ||= ''
puts f # 輸出為 4
g = 5
g ||= 6
puts g # 輸出為 5
i ||= ''
puts i #輸出為空
h ||= 7
puts h # 輸出為 7
h = nil #或者h沒有初始化,去掉這行代碼
puts h ||= rand(999) #結果產生任意的隨機數
#結論: ||= 是不可以重復賦值,如果前者是nil,就賦值
|
得出的結論是,雖然ruby是動態語言,但是你可以利用 ||= 操作符限制變量的值不可以修改,輸出的值是第一次賦的值,如果第一次是nil,就賦值
結合 || 賦值
@current_person ||= (nil || nil || 3 || :false)
puts @current_person # 3
2,<<
測試:
@books = %w{book1 book2 book3}
# @books = ["book1","book2","book3"] 這兩種寫法都可以
array_a = @books
puts array_a.length # 輸出3
array_a << "book4"
puts array_a.length # 輸出 4
puts "xiaonei" << "facebook" #輸出 xiaoneifacebook
|
得出結論,<< 是追加的意思,如果是數組,就是追加數組的長度,如果是字符串,就是追加字符串
posted on 2009-04-15 19:01
fl1429 閱讀(763)
評論(0) 編輯 收藏 所屬分類:
Rails