使用obj.nil?
和obj == nil
哪个更好?两者的好处是什么?
发布于 2009-12-29 08:15:56
就我个人而言,我更喜欢object.nil?
,因为它在较长的行上不太容易混淆;但是,如果我在Rails中工作,我通常也会使用object.blank?
,因为它还会检查变量是否为空。
发布于 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
发布于 2009-12-29 08:17:21
我发现自己根本不使用.nil?
,而您可以这样做:
unless obj
// do work
end
使用.nil?
实际上比较慢,但并不明显。.nil?
只是一种检查对象是否等于nil的方法,除了视觉上的吸引力和很少的性能没有区别。
https://stackoverflow.com/questions/1972266
复制相似问题