.nil?
-
Ruby方法
-
.nil?
方法被放置在Object
类中,可以被任何对象调用,如果是nil
则返回true
-
在Rails中只有nil对象才会返回
true
nil.nil? #=> true anthing_else.nil? #=> false a = nil a.nil? #=> true "".nil #=> true
.empty?
-
Ruby方法
-
如果对集合之外的对象调用
.empty?方法,则
会抛出NoMethodError
-
可以在字符串、数组、hash这几种集合中使用,且只有当集合长度(length)为0时才会返回
true
"".empty = true
" ".empty? = false
.blank?
-
Rails方法
-
与
.empty?
的区别: 对于还有空格的字符串也会返回true
,并且nil
返回的结果也未true
-
可以在任意对象上调用,不限制于集合对象
nil.blank? = true
[].blank? = true
{}.blank? = true
"".blank? = true
5.blank? == false
.present?
-
Rails方法
-
如果一个对象不是
blank
,即会返回true
-
内部实现其实是调用的
·blank?,如下代码:
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 22
def present?
!blank?
ends