我有一个基本上是一个循环的方法,它每次都在结尾调用它自己。当日期到达某个点时,该方法不能自行调用的最佳方法是什么?每次迭代都会增加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