我无法弄清楚为什么我的lambda错了.它应该创建一个make-exp.
(define (exp b n)
(if (n = 0)
1
(* b (exp b (- n 1)))))
(define make-exp (lambda(n) (lambda(b)(exp b n ))))
(define square (make-exp 2))
(square 3)
Run Code Online (Sandbox Code Playgroud)
错误:2不是函数[square,exp,(anon)]
(n = 0)
Run Code Online (Sandbox Code Playgroud)
这将调用函数n与参数=和0,除非n是2和不是一个函数,所以这是行不通的.大概是你的意思(= n 0).
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |