我正在阅读一本名为“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”,这就是在这里玩的概念。 –