我的代码是这样的
(define (accumulate op initial sequence)
(if (null? sequence)
initial
(op (car sequence)
(accumulate op initial (cdr sequence)))))
(define seq '(#t #t #t #t))
(accumulate and #t seq))
我使用ikarus,错误信息是
Unhandled exception
Condition components:
1. &who: and
2. &message: "invalid syntax"
3. &syntax:
form: and
subform: #f
4. &trace: #<syntax and>
问题是:
并且不能用作累积函数中的操作?
如果我像这样修改上面的代码,那么它可以工作。
(accumulate (lambda (x y) (and x y)) #t seq)