When to use nil, blank, empty?
是否有关于如何区分
我一般总是很困惑何时在我的应用程序中使用它们,因为它们似乎都意味着相同但具有不同的含义。
有没有人在血淋淋的细节上有任何备忘单?
在这里,我使用所有情况创建了这个有用的表
-
nil? - 检查变量是否引用对象 -
empty? - 可用于检查各种对象类型,如空字符串"或空数组[] -
blank? - 检查nil? 或empty? 。
-
nil? 在所有Objects 上定义,它只返回nil 单例上的true 。 -
blank? 也在所有对象上定义,如果对象也响应empty? 并且为空,则返回true ,或者是false 类型值(!object 始终true )。 -
empty? 在几个集合对象上定义,如果没有元素,则为true 。它也在String 上定义。
请注意
我在这里找到了一个很好的解释
nil? tests whether the object is
exactly nil, that is whether it is the
one and only want instance of
NilClass.empty? is a method some objects
respond to. You need to check the
documentation for each case. For
example, and empty array is one that
is not nil (it is an array right?) and
has no elements. An empty string is
one that is not nil (it is a string
right?) and has no bytes, nothing.The blank? method you ask for does not
belong to Ruby, it is a Rails
extension:
http://api.rubyonrails.com/classes/Object.html#M000011.
如果单击该帖子末尾的链接,您会发现