我刚开始在课堂上学习 lisp。我正在做一个家庭作业,其中我必须使用一些基本操作来编写一些非常基本的函数,例如 car、cdr、cons、append、reverse、atom、eq、equal 和 null。
所以这是我到目前为止的代码:
(defun union2 (l1 l2)
(cond ((null l1) l2)
((member((car l1) l2)) (union2((cdr l1) l2)))
(t (cons (car l1) (union2((cdr l1) l2)))))
)
当我尝试运行测试时:
(union2 '(5 7 2 3 1) '(3 2 4 6 9))
我收到“错误:非法函数对象:(汽车 l1)”。我的印象是我正确地编写了代码。我究竟做错了什么?感谢您的时间。