ruby基礎

一、 renderhtml

一下三種渲染方式的渲染結果是同樣的:ruby

    render(:text=>"<h1>hello world!</h1>")
    
    render text:"<h1>hello world!</h1>"
    
    render html:"<h1>hello world!</h1>".html_safe

渲染結果:less

render html:"<h1>hello world!</h1>"

渲染結果:spa

因此,在返回html時,若是不調用html_safe方法,html是沒法正確解析的。code

二、empty、blankhtm

"somestring".empty?=>false對象

"".empty?=>trueblog

nil.empty?=>NoMethodError: undefined method `empty?' for nil:NilClass(nil不支持empty方法)string

nil.to_s.empty?=>trueclass

"    ".empty?=>false

"    ".blank?=>true

nil.blank?=>true

三、nil

nil.nil?=>true

xx.nil?=>false(除了nil之外全部對象nil的結果都爲false)

同理,除了!!nil=>false之外,全部的!!xx都爲true,包括!!0=>true

四、unless

和if not相對應,if是在後面添加爲真時執行,而unless是在後麪條件返回值爲false時纔會執行

 五、! bang

a = [42, 8, 17]

a.sort=>[8,17,42]

a=>[42,8,17] #執行sort方法時,對象a自己並無發生變化

a.sort!=>[8,17,42]

a=>[8,17,42] #執行sort!方法時,對象a自己也變化了,這就是所謂的炸彈(bang!)方法

六、運算符

除法運算符, 1/10 ->0     9/10->0

在ruby中,兩個整數類型的數字進行運算,獲得的結果默認仍然是整數,並且沒有四捨五入,因此在ruby中若是兩個整數進行除法運算,並且但願能夠獲得精確值,應該想將其中一個數字轉換爲浮點數再進行運算,例如:1/10.0->0.1

相關文章
相關標籤/搜索