3
(define (procedere1) (lambda() 2))
(define procedure2 (lambda() 2))
它们都可以编译。但是我对上述两个程序之间的区别感到困惑。带和不带括号的程序之间的区别?
(define (procedere1) (lambda() 2))
(define procedure2 (lambda() 2))
它们都可以编译。但是我对上述两个程序之间的区别感到困惑。带和不带括号的程序之间的区别?
第一个是返回过程的过程。第二个是返回数字2
在具体的过程,第一个是等效于以下:
(define procedure1
(lambda()
(lambda() 2)))
一般而言
(define (name arg1 arg2 arg3 ...)
body)
被简写
(define name
(lambda (arg1 arg2 arg3 ...)
body))
它确实有帮助!thx! –