.nil? .empty? .blank?的区别
这三个都是判空的。而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法
.nil? 判断对象是否存在(nil)。不存在的对象都是nil的
.empty? 对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。类似于判断length是否是0
.blank? 可以这样理解:.blank?=(.empty?||.nil?)。如果对象是:false, empty, "", " ", nil, [], 和{}都算是blank。
除了 false 本身之外,所有的 Ruby 对象中nil是唯一一个布尔值为“假”的。基本上所有其他的 Ruby 对象都是“真”的,包括 0
注意一点:empty?不能用于整数