我正在自己研究Scheme,最近我遇到了这段代码:
((lambda (gcd) (gcd (12 8 gcd))
(lambda(a b gcdnew)
(if (= b 0)
a
(gcdnew b (modulo a b) gcdnew))))
作者说这个有递归。这是一个老话题,所以我无法联系他。那么它在哪里(=递归)?似乎第二个“lambda”作为值转到第一个“gcd”,所以我们的身体实际上是:
(gcdnew 8 4 gcdnew)
那么,“gcdnew”作为“gcdnew”中的参数有什么意义呢?感谢帮助。