美文网首页
Ruby/Rails-empty?/nil?/present?/

Ruby/Rails-empty?/nil?/present?/

作者: GALAXY_ZMY | 来源:发表于2015-08-23 19:38 被阅读1143次

    .nil? , .empty? .blank? .present?区别:

    .nil? 判断对象是否存在(nil)。不存在的对象都是nil的。

    nil.nil?      =>true

    false.nil?     =>false

    1.nil?         =>false

    0.nil?         =>false

    "".nil?        =>false

    [ ].nil?        =>false

    { }.nil?        =>false

    .empty? 前提是对象已存在,判断是否为空字段,比如空字符串,空数组,空对象。

    "".empty?          =>true

    "   ".empty?          =>false  注意有空格

    "abc".empty?       =>false

    [ ].empty?          =>true

    [ nil ].empty?          =>false

    [1,2,3].empty?   =>false

    1.empty?            => NoMethodError: undefined method `empty?' 

    {}.empty?            =>true

    .blank?等于同时满足 .nil? 和 .empty? 。如果对象是false, empty, 空白字符. 例:

    "", " ", nil , [], 和{}都算是blank。

    object.blank? 相当于object.nil? || object.empty?

    .nil? 和 .empty? 是ruby的方法。 .blank?和present? 是rails的方法,需要在rails环境下才能测试,rails c。

    true.blank?          =>false

    false.blank?        =>true

    "true".blank?      =>false

    "".blank?            =>true

    "  ".blank?           =>true

    "\n".blank?         =>false

    '\n'.blank?           =>false

    {}.blank?            =>true

    1.blank?            =>false

    [].blank?          =>true

    nil.blank?         => true

    present?方法是blank?相反的方法,用于判断是否存在,present?与!blank?相同,或(!present?与blank?)

    nil.present?      =>false

    [].present?        =>false

    "hello".present?   =>true

    ["a"].present?     =>true

    相关文章

      网友评论

          本文标题:Ruby/Rails-empty?/nil?/present?/

          本文链接:https://www.haomeiwen.com/subject/kvexcttx.html