【发布时间】:2012-03-13 11:06:02
【问题描述】:
我看到了这个关于斐波那契数列的例子,然后在 IRB 中对其进行了测试。希望有人可以为我分解它并向我展示它如何在正在定义的方法中使用相同的方法。
def fib(n)
return n if (0..1).include? n
fib(n-1) + fib(n-2) if n > 1
end
【问题讨论】:
-
重要的是要注意,在这种情况下,并非每次调用
fib都会导致再次调用fib,这是防止它成为无限循环的原因。太多的调用在一些返回之前堆积起来并产生 Stack Overflow 错误。 ;)
标签: ruby math methods recursion fibonacci