我有一個基本上是一個循環的方法,它每次都在結尾調用它自己。當日期到達某個點時,該方法不能自行調用的最佳方法是什麼?每次迭代都會增加1天,並基本處理當天的統計數據。它看起來像下面這樣:Ruby,遞歸方法
def loop(start_day)
date = start_day
#do a bunch of stuff
date = date +1.day
if date > Time.now
puts "loop should be over"
end
loop(date)
end
糾正我,如果我錯了,但不會使用遞歸保持複利取決於你在設置變量的內存使用'#do一堆stuff'的,而一個'直到'循環會清除每個循環的變量? – 2013-04-22 16:21:58
@CharlesCaldwell不言而喻(至少,我認爲......)在現實生活中這將是一件愚蠢的事情。我認爲這只是一個練習。 – 2013-04-22 16:45:25
請注意,在這種情況下您不需要遞歸。你可以爲日期創建一個範圍,然後迭代該範圍的每個日期。 – 2013-04-22 16:51:32