确定Ruby中的所有数组元素的表达式是否为true

Ste*_*ane 2 ruby arrays

我在Ruby中有一个对象数组.我想将每一个传递给表达式/块,看看块是否计算为true.我感兴趣的结果是块对于所有数组元素都是真的情况.

现在我用计数器编码了这个.我在数组上使用.each,计算表达式,如果表达式为真,则递增计数器,然后检查计数器与最后的数组大小.

即使描述它也让我感到厌倦:)这感觉非常笨重,所以我希望有一个更简洁的Ruby成语.

fal*_*tru 5

使用 Enumerable#all?

[1, 2, 3].all? { |x| x > 1 }
# => false
[1, 2, 3].all? { |x| x >= 1 }
# => true
Run Code Online (Sandbox Code Playgroud)