Ruby on rails 何时使用nil、blank、empty?
关于如何区分Ruby on rails 何时使用nil、blank、empty?,ruby-on-rails,ruby,Ruby On Rails,Ruby,关于如何区分.nil?、.blank?和.empty?,有什么指导原则吗 我通常对什么时候在我的应用程序中使用它们感到困惑,因为它们似乎都意味着相同的东西,但有不同的含义 有人有关于血淋淋的细节的备忘单吗?我找到了一个很好的解释: 零?测试对象是否为空 完全为零,这就是它是否是 唯一需要的实例 尼尔斯班 空的?方法是否包含一些对象 回应你需要检查一下房间 每个案例的文档。对于 例如,空数组就是 不是nil(它是一个数组,对吗?) 没有任何元素。空字符串无效 不是零的一个(它是一个字符串) 是吗?
.nil?
、.blank?
和.empty?
,有什么指导原则吗
我通常对什么时候在我的应用程序中使用它们感到困惑,因为它们似乎都意味着相同的东西,但有不同的含义
有人有关于血淋淋的细节的备忘单吗?我找到了一个很好的解释: 零?测试对象是否为空 完全为零,这就是它是否是 唯一需要的实例 尼尔斯班 空的?方法是否包含一些对象 回应你需要检查一下房间 每个案例的文档。对于 例如,空数组就是 不是nil(它是一个数组,对吗?) 没有任何元素。空字符串无效 不是零的一个(它是一个字符串) 是吗?)并且没有字节,什么都没有 空白?你所要求的方法不适用 属于Ruby,它是一个Rails 分机: 如果你点击文章末尾的链接,你会发现
blank?
方法只是将nil?
和empty?
方法调用结合起来。- -检查变量是否引用对象
-可用于检查各种对象类型,如或空?
- -检查
或nil?
empty?
在所有nil?
对象上定义,它只在
单例上返回nil
true
也定义在所有对象上,如果对象也响应空白?
且为空,或者是空?
类型值(假
始终为!object
),则返回真
)真
在多个集合对象上定义,如果没有元素,则为empty?
。它也在true
字符串上定义
请注意,
blank?
是ActiveSupport
,不在Rails 1.8中。在这里,我制作了一个有用的表格,其中包含所有大小写仅包含“blank”字符的字符串被视为blank?
而不是empty?
,例如“\n\t”如果对象的值为false,Blank也会返回true。我认为nil
的描述不准确,因为nil.nil?
是true,但是nil
是NilClass
的对象。如果您(a)没有使用Rails,但(b)正在使用ActiveSupport,至少在某个版本以上(不确定是哪个版本)。。。您只需要包含blank?
,下面是如何选择这一位:require'active\u support/core\u ext/object/blank
()只包含“blank”字符的字符串被视为空白?但不是空的?例如“\n\t”
,如对该问题的另一个回答中所述。此表非常好-感谢分享!这真的非常有用。谢谢nil.blank?
返回未定义的方法
错误。我使用object.to_.empty?
。当对象为nil
或empty
字符串时,它返回true
。@SharvyAhmedobject.to_.s.empty?
在普通ruby中使用时有一个缺点-如果未定义对象变量,它会引发NameError
异常。