2012-11-15 39 views

回答

5

对于数组

array = [1, 2, 'a'] 
array.any?(&:nil?) 
#=> false 

对于散,我想你是在谈论零值。

hash = {:a => 1, :b => 2, :c => nil} 
hash.value?(nil) 
#=> true 
+0

伟大的东西!谢谢 –

1

由于oldergod和strmstn都指出你应该使用任何,并在内部块中的条件,你可以验证一个元素是否是nil或其类Hash

[1,2,nil].any? {|x| x.class == Hash or x.nil? } # => true 

[1,2,{}].any? {|x| x.class == Hash or x.nil? } # => true