首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >obj.nil?与obj == nil

obj.nil?与obj == nil
EN

Stack Overflow用户
提问于 2009-12-29 08:14:21
回答 4查看 17.9K关注 0票数 70

使用obj.nil?obj == nil哪个更好?两者的好处是什么?

EN

回答 4

Stack Overflow用户

发布于 2009-12-29 08:15:56

就我个人而言,我更喜欢object.nil?,因为它在较长的行上不太容易混淆;但是,如果我在Rails中工作,我通常也会使用object.blank?,因为它还会检查变量是否为空。

票数 11
EN

Stack Overflow用户

发布于 2011-07-05 15:39:13

你可以在nil?上使用Symbol#to_proc,但是在x == nil上就不实用了。

arr = [1, 2, 3]
arr.any?(&:nil?) # Can be done
arr.any?{|x| x == nil} # More verbose, and I suspect is slower on Ruby 1.9.2
! arr.all? # Check if any values are nil or false
票数 3
EN

Stack Overflow用户

发布于 2009-12-29 08:17:21

我发现自己根本不使用.nil?,而您可以这样做:

unless obj
  // do work
end

使用.nil?实际上比较慢,但并不明显。.nil?只是一种检查对象是否等于nil的方法,除了视觉上的吸引力和很少的性能没有区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1972266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档