我是一个新的schemer。也许这个问题很简单。但这真的让我很困扰。
我定义了一个程序
(define insertL
(lambda (new old lat)
(cond
((null? lat) '())
((eq? old (car lat)) (cons new lat))
(else (cons (car lat) (insertL (cdr lat)))))))
那么我称之为
> (insertL 2 3 '(1 2 3))
发生异常
Exception: incorrect number of arguments to #<procedure insertL>
为什么?
insertL
需要多少个参数?你在两个地方都用正确数量的自变量来调用它吗?