Sam*_*Sam 3 ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
为什么irb和rails控制台显示[] .blank的不同结果?
这是我的irb检查:
$ irb
2.1.0 :001 > a = []
=> []
2.1.0 :002 > a.blank?
NoMethodError: undefined method `blank?' for []:Array
from (irb):2
from /home/user/.rvm/rubies/ruby-2.1.0/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)
这是我的控制台检查:
$ rails c -e local
Loading local environment (Rails 4.1.5)
2.1.0 :001 > a = []
=> []
2.1.0 :002 > a.blank?
=> true
Run Code Online (Sandbox Code Playgroud)
这个blank?方法是由rails添加的(不属于标准的ruby语言)来自rails docs:http://api.rubyonrails.org/
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 15
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
Run Code Online (Sandbox Code Playgroud)