我正在閱讀一本名爲「The Little Schemer」的書,其中的這段代碼以遞歸方式呈現,以查找列表長度而不定義任何函數。在這個不使用define的遞歸Sheme函數中發生了什麼?
((lambda (mk-length)
(mk-length mk-length))
(lambda (mk-length)
(lambda (l)
(cond
((null? l) 0)
(else (add1
((mk-length mk-length)
(cdr l))))))))
我種得到了模糊的概念,該函數傳遞一個工具,使更多的本身,而是我一直在迷惑自己,當我嘗試和充分思考的,而當我嘗試複製的東西喜歡它。
有人能更深入地解釋這裏發生了什麼,爲什麼它如此重要(這本書對此有很大的意義)?
繼續閱讀,稍後解釋。如果還不清楚,請查找「Y Combinator」,這就是在這裏玩的概念。 –