List Guile方案条件错误:要应用的类型错误:(1 2 3 4)
我在玩弄诡计,对这个疯狂的问题感到困惑List Guile方案条件错误:要应用的类型错误:(1 2 3 4),list,scheme,lisp,List,Scheme,Lisp,我在玩弄诡计,对这个疯狂的问题感到困惑 (define func((lambda N lst) (if(eq? N 0) 0 (+ (car lst) 2)))) 调用函数 (func 2 (list 1 2 3 4 5)) 调用函数时出现以下错误 ERROR: In procedure (1 2 3 4): ERROR: Wrong type to apply: (1 2 3 4) 这是一个括号问题。从scheme开始时会发生很多事情 我建议您正确缩进代码,这将使代码
(define func((lambda N lst)
(if(eq? N 0) 0 (+ (car lst) 2))))
调用函数
(func 2 (list 1 2 3 4 5))
调用函数时出现以下错误
ERROR: In procedure (1 2 3 4):
ERROR: Wrong type to apply: (1 2 3 4)
这是一个括号问题。从scheme开始时会发生很多事情 我建议您正确缩进代码,这将使代码更具可读性,并且更不容易出错
(define func
(lambda (N lst)
(if (eq? N 0)
0
(+ (car lst) 2))))
您的额外()已转换为错误与代码完全不匹配。如何编写
func
它甚至不会绑定func
,因为它无法编译。您收到的错误似乎表明您正在调用lst
类似于(lst)
,可能带有更多参数。