Dav*_*d C 117 ruby ruby-on-rails
是否有关于如何区分任何指引.nil?,.blank?和.empty??
我一般总是很困惑何时在我的应用程序中使用它们,因为它们似乎都意味着相同但具有不同的含义.
有没有人在血淋淋的细节上有任何备忘单?
nil?在所有定义Objects,它只返回true的nil单.
blank?也是在所有对象上定义的,true如果对象也响应empty?并且为空,则返回,或者是false类型值(!object总是true).
empty?在几个集合对象上定义,true如果它没有元素.它也被定义String.
注意,blank?是ActiveSupport而不是Rails的1.8.
我发现了一个很好的解释在这里:
零?测试对象是否正好是nil,即它是否是唯一想要的NilClass实例.
空?是一些对象响应的方法.您需要检查每个案例的文档.例如,空数组是一个不是nil的数组(它是一个数组吗?)并且没有元素.一个空字符串是一个不是nil的字符串(它是一个字符串对吗?)并且没有字节,没有.
空白?你要求的方法不属于Ruby,它是一个Rails扩展:http: //api.rubyonrails.com/classes/Object.html#M000011.
如果您通过点击链接在那个帖子的最后,你会发现,blank?方法简单地结合nil?和empty?方法调用.
| 归档时间: |
|
| 查看次数: |
85825 次 |
| 最近记录: |