Rails docs有這個信息Object#blank?
Rails對象#空白?與String#空?混亂
一個目的是空白的,如果它是假的,空的,或空白字符串。例如,「」,「」,nil,[]和{}爲空。
但該方法的來源是這樣的:
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 12
def blank?
respond_to?(:empty?) ? empty? : !self
end
現在,當我睜開方便的小命令行,然後鍵入ruby -e 'p " ".empty?'
返回false。這意味着Rails應該說這顯然不是一個空白值。但!我打開我的rails console
,然後輸入" ".empty?
,並像我早期的直線命令行一樣僞造。但是,我輸入「」.blank?而且我像Rails承諾的那樣真實。
我在理解Rails的blank?
方法如何與String的方法一起使用時缺少什麼?
啊,謝謝!只要SO會讓我,我會標記你的答案。 – jxpx777 2011-01-27 17:55:09