我正在學習用我自己計劃和最近我遇到了這個代碼:這段代碼的遞歸在哪裏?
((lambda (gcd) (gcd (12 8 gcd))
(lambda(a b gcdnew)
(if (= b 0)
a
(gcdnew b (modulo a b) gcdnew))))
筆者說,在這一個遞歸。這是一個老話題,所以我不能聯繫他。那麼它在哪裏(=遞歸)?看來,第二個「拉姆達」成爲第一個「最大公約數」的值,使我們的身體居然是:
(gcdnew 8 4 gcdnew)
那麼,什麼是「gcdnew」的點作爲「gcdnew」參數?感謝幫助。
這是做遞歸不使用letrec一種迂迴的方式。事實上,額外的gcdnew論證是能夠實現的。 – 2013-04-24 14:24:18