0

私はこの行について疑問に思っています:

 { |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
4

1 に答える 1

3

ブロックではなく、配列であるlengthの結果を呼び出しています。(2..(num-1)).select { |i| (num % i) == 0}

于 2013-08-21T01:11:06.067 に答える