我正在编写一个函数,它返回出现在一个列表中而不是另一个列表中的元素。例如,
(except '(a b c) '(a d b e f))
将返回 '(c)
。第一个参数可以是一个原子,并且都被假定为平面的。这是我的代码:
(define (except lm ln)
(cond ((null? ln) lm)
((not (list? lm))
(cond ((in? lm ln) '())
(#t lm)))
((null? lm) '())
((in? (car lm) ln) (except (cdr lm) ln))
(#t (cons (car lm) (except (cdr lm) ln)))))
然后返回一条错误消息“except:滥用单元导入关键字 in: (except (cdr lm) ln)”。
为什么会这样?
最佳答案
关于lisp - 方案错误 "except: misuse of unit import keyword",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9338460/