调试Scheme中的简单列表函数?

调试Scheme中的简单列表函数?,scheme,lisp,racket,Scheme,Lisp,Racket,我正在浏览一些列表函数,并在Scheme中对它们进行编程。我这样做是为了好玩。这不是学校/学院的作业。我很谦卑地意识到,我在使用非常基本的函数和语句时遇到了障碍 令我惊讶的是,这个成员?函数始终会引发一个错误,不止一个Scheme REPL报告说我正在尝试使用非函数#t 我做错了什么 ((member? atm (cdr lst))) 假设(member?atm(cdr lst))的计算结果为#t,则上述结果相当于(#t),因此它尝试将#t作为一个函数应用,这就是错误消息告诉您的 去掉外圆括号

我正在浏览一些列表函数,并在Scheme中对它们进行编程。我这样做是为了好玩。这不是学校/学院的作业。我很谦卑地意识到,我在使用非常基本的函数和语句时遇到了障碍

令我惊讶的是,这个
成员?
函数始终会引发一个错误,不止一个Scheme REPL报告说我正在尝试使用非函数#t

我做错了什么

((member? atm (cdr lst)))
假设
(member?atm(cdr lst))
的计算结果为
#t
,则上述结果相当于
(#t)
,因此它尝试将
#t
作为一个函数应用,这就是错误消息告诉您的

去掉外圆括号,你就会得到你想要的结果

((member? atm (cdr lst)))