.nil? , .empty?, .blank? .present? 的区别(转)
nil , [], 和{}都算是blank。?? (object.blank? 相当于 object.nil?||object.empty?)
?
.present ? (The opposite of Rails blank? is?present?) ?
?
下面是一些例子:
nil.nil?=> truefalse.nil?=> false1.nil?=> false0.nil?=> false"".nil?=> false[].nil?=> false"".empty?=> true"abc".empty?=> false[].empty?=> true[1, 2, 3].empty?=> false1.empty?=> NoMethodError #说明 empty? 方法不能用于整数
p true.blank??? ? ? FALSE
??? p false.blank? ??? ?TRUE
??? p "true".blank??? ?FALSE
??? p "".blank? ??? ? ?? TRUE
??? p "\n".blank? ? ? ? TRUE
??? p '\n'.blank? ?? ? ? FALSE
??? p 'true'.blank??? ? FALSE
??? p ''.blank? ?? ? ? ?? TRUE
??? p 1.blank?? ? ? ? ?? FALSE
??? p [].blank? ? ? ? ?? TRUE
??? p [1].blank??? ? ?? FALSE