假设我应该找到7和9的倍数之和到255的限制,这就是我所做的:
(0..255).select do |i|
i % 7 == 0 || i % 9 == 0
end.inject(:+)
我想删除神奇的数字并让方法更通用:
divisors = [7,9,13]
(0..255).select do |i|
divisors.each do |d|
i % d == 0
end
end.inject(:+)
这样做的惯用方法是什么?
答案 0 :(得分:2)
divisables.map do |d|
i % d == 0
end.any?
HTH
编辑:或者,正如@undur_gongor所说,您也可以使用any?
之类的
divisables.any? { |d| i % d == 0 }