我对从列表中删除第一次出现的指定元素的函数有疑问。我不能使用相等。我做错了什么?
(define f
(lambda (E X)
(list? X)
(check E X)))
(define check
(lambda (E X)
(cond ((eq?(cdr X) '()) 'no_occur)
(#t (cond
((eq?(car X)E) (cdr X))
(#t (cons '()
(cons (car X)
(check E (car X))))))))))
(f 'u '(k u l o))
我明白了:
mcdr:
预期违反合同:mpair?
给定:k