我正在编写一个Scheme函数,用于检测单词是否在单词列表中。我的代码使用if语句和memq来返回#t或#f。但是,有些事情导致第一个参数返回该对象不适用的错误。
(define in?
(lambda (y xs)
((if (memq( y xs )) #t #f))))
答案 0 :(得分:0)
括号很重要:
(define in?
(lambda (y xs)
(if (memq y xs) #t #f)))
所以
if
memq
参数放在括号中(define in?
(lambda (y xs)
(and (memq y xs) #t)))