0

配列またはハッシュの要素の 1 つが nil であることを示すメソッドはありますか?

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 を使用する必要があり、ブロック内の条件で、要素が a であるnilか、そのクラスがa であるかを確認できます。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 に答える