n個の素数を配列で表示するプログラムを作りました。とりあえず直感で作ってみたのですが、6行目の「if prime_r(num)」が何故成立しているのかがわかりません。
これは「prime_r(num)の結果がtrueだったから」実行されているのでしょうか?
また、if文でメソッドを条件文にした場合は、それがtrueだったら実行されるというRubyの仕様なのでしょうか。
詳しい解説をいただければ幸いです。
よろしくお願いいたします。
↓以下がプログラムです
def prime(n)
pri = Array.new
count = 0
num = 2
while count < n
if prime_r(num)
count += 1
pri << num
end
num += 1
end
pri
end
def prime_r(n)
prime_sub(n,n-1)
end
def prime_sub(n,m)
if m <= 1
true
elsif n % m == 0
false
else
prime_sub(n,m-1)
end
end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/16 09:43
2015/11/16 09:55