我想知道这一行:
{ |i| (num % i) == 0}.length == 0
有人可以解释在块上使用length
会发生什么吗?我想回答关于素因子的问题:
divisors = Array.new
for d in 2..(num)
divisors << d if (num % d) == 0
end
primes = divisors.select do |num|
(2..(num-1)).select { |i| (num % i) == 0}.length == 0
end
答案 0 :(得分:3)
它在length
的结果上调用(2..(num-1)).select { |i| (num % i) == 0}
- 这是一个数组 - 不在块上。