sky = nil
sky.nil? # => true
其他的对象的都为 object.nil? 都为false 如数据库的一个属性为空,则 属性.nil? # => true
empty? 用于string 和 array 还有hash
# Array
[].empty? #=> true
# String
"".empty? #=> true
但是 “ ” .empty? #=> false
blank?
对象类
"", nil, [], and {}.blank? #=> true
This simplifies
if !address.nil? && !address.empty?
to
if !address.blank?
看似blank? 是 nil? 和 empty?的结合体,但实际上还是有区别的 如: " ".empty? #=> false, " ".blank #=> true
.nil?
ruby nil? empty? blank? 的区别,布布扣,bubuko.com
原文:http://www.cnblogs.com/chenzhenzhen/p/3858058.html