(define (procedere1) (lambda () 2))
(define procedure2 (lambda () 2))
他们都可以编译。但我对上述两个程序之间的区别感到困惑。
答案 0 :(得分:4)
第一个是返回过程的过程。第二个是返回数字2的过程。
特别是,第一个等同于以下内容:
(define procedure1
(lambda ()
(lambda () 2)))
答案 1 :(得分:2)
一般
(define (name arg1 arg2 arg3 ...)
body)
是
的简写(define name
(lambda (arg1 arg2 arg3 ...)
body))