Ruby 如何对数组的所有元素执行布尔运算并将结果混合在一起?

Ruby 如何对数组的所有元素执行布尔运算并将结果混合在一起?,ruby,Ruby,我想和或或数组中的所有元素,但需要一些控制,如通过哈希元素选择所示。以下是我希望实现的行为: a = [{:a => true}­, {:a => false­}] a.and_map{ |hash_element| hash_element[:a] } #=> false a.or_map{ |hash_element| hash_element[:a] } #=> true 在Ruby中有没有一种灵活、干净的方法可以做到这一点?您可以使用all?和any?: a =

我想
数组中的所有元素,但需要一些控制,如通过哈希元素选择所示。以下是我希望实现的行为:

a = [{:a => true}­, {:a => false­}]
a.and_map{ |hash_element| hash_element[:a] }
#=> false
a.or_map{ |hash_element| hash_element[:a] }
#=> true

在Ruby中有没有一种灵活、干净的方法可以做到这一点?

您可以使用
all?
any?

a = [{:a => true}­, {:a => false­}]
a.all?{ |elem| elem[:a] }
a.any?{ |elem| elem[:a] }
a = [{:a => true}, {:a => false }]
a.any? { |hash_element| hash_element[:a] }
#=> true
a.all? { |hash_element| hash_element[:a] }
#=> false