0

是否有任何方法可以告诉数组或哈希的元素之一为零?

4

3 回答 3

5

对于一个数组

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

对于哈希,我猜您正在谈论 nil 值。

hash = {:a => 1, :b => 2, :c => nil}
hash.value?(nil)
#=> true
于 2012-11-15T01:04:14.590 回答
1

您可以使用该any?方法:http ://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-any-3F

例如:arr.any? { |x| x.nil? }

于 2012-11-15T01:03:53.383 回答
1

正如 oldgod 和 strmstn 指出的那样,您应该使用 any,并且在块内的条件中,您可以验证元素是 anil还是它的类是Hash

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

[1,2,{}].any?  {|x| x.class == Hash or x.nil? } # => true
于 2012-11-15T03:18:20.950 回答