我有一个大数组,我需要知道它的所有元素是否都可以被2整除。
我这样做,但它有点难看:
_true = true
arr.each { |e| (e % 2).zero? || _true = false }
if _true == true
# ...
end
如何在没有额外循环/分配的情况下执行此操作?
答案 0 :(得分:21)
这样做。
arr.all?(&:even?)
答案 1 :(得分:13)
Ruby让你满意。
if arr.all? {|e| (e % 2).zero?}
如果您需要检查至少有一个元素是否具有给定属性,还有any?
。