5

我有一个大数组,我需要知道它的所有元素是否都可以被 2 整除。

我正在这样做,但它有点难看:

_true = true
arr.each { |e| (e % 2).zero? || _true = false }
if _true == true
    # ...
end

如何在没有额外循环/分配的情况下做到这一点?

4

2 回答 2

23

这会做。

arr.all?(&:even?)
于 2012-10-30T14:22:16.337 回答
15

Ruby 为您提供保障。

if arr.all? {|e| (e % 2).zero?}

any?如果您需要检查至少一个元素是否具有给定属性,还可以检查。

于 2012-10-30T14:13:21.183 回答