首页 > 代码库 > ruby nil? empty? blank? 的区别

ruby nil? empty? blank? 的区别

sky = nilsky.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?