我的高阶程序有什么问题?

  • 本文关键字:问题 高阶 程序 scheme
  • 更新时间 :
  • 英文 :


我不明白为什么我的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)

错误:2不是函数[square,exp,(anon)]

(n = 0)

这使用参数=0调用函数n,但n2而不是函数,因此这不起作用。大概你指的是(= n 0)

最新更新