rails Object.blank? 和空白

rails Object.blank? and whitespace

rails文档描述Object.blank?

如果对象为false,空或空白字符串,则该对象为空。 例如,",","nil,[]和{}为空。

1
2
3
def blank?
  respond_to?(:empty?) ? empty? : !self
end

(来自:http://api.rubyonrails.org/classes/Object.html#method-i-blank%3F)

我不明白的是它是如何实现将空白字符串视为空白的功能。

"".empty?返回false。 任何人都可以对此有所了解吗? 谢谢。


字符串被覆盖了:

来自activesupport / core_ext / blank.rb

1
2
3
4
5
class String #:nodoc:
  def blank?
    self !~ /\S/
  end
end