【发布时间】:2021-01-02 18:43:01
【问题描述】:
在 SICP (1.3.2. page: 62) 中,有一个使用 lambda 查找 pi-sum 的解决方案。解决办法是:
(define (pi-sum a b)
(sum (lambda (x) (/ 1.0 (* x (+ x 2))))
a
(lambda (x) (+ x 4))
b))
但是,我觉得应该有一个括号括住((lambda (x) (+ x 4) b)。这样的程序会产生一个错误,说sum 期待number 但得到procedure。
修改上面的代码没有错误。
(define (pi-sum a b)
(sum ((lambda (x) (/ 1.0 (* x (+ x 2))))
a)
((lambda (x) (+ x 4))
b)))
如果我的理解有误,请纠正我。我认为这本书不会错。
【问题讨论】:
-
在 sicp 中你永远不会看到错字。
-
在 sicp 中没有错字。全部改正