1
我有一個關於Ruby循環的非常基本的問題。評估Ruby while循環底部的退出條件
該程序按照書面形式返回第i個素數+1(即該示例應返回17)。我知道我可以簡單地返回cand-1
,但我想知道檢查在while
循環底部是否找到答案的「Ruby方式」,只有在沒有時纔會遞增。
def ith_prime(i)
pI = 0 # primes index
divs = []
cand = 2
until pI == i do
if divs.find { |div| cand%div == 0 } == nil
divs << cand
pI += 1
end
cand += 1
end
cand
end
puts ith_prime(7)
> 18
正是我一直在尋找。謝謝! – wils484