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