以下函数计算斐波那契数列:
如果我们运行它,将得到一个无限的列表,但是递归是如何工作的呢?如果函数不断调用自身,为什么可以在屏幕上打印数字?我会很感激您能解释编译器如何管理这些调用。
fib = 0 : 1 : (zipWith (+) fib (tail fib))
如果我们运行它,将得到一个无限的列表,但是递归是如何工作的呢?如果函数不断调用自身,为什么可以在屏幕上打印数字?我会很感激您能解释编译器如何管理这些调用。