ANSI Common Lisp 第三章习题 发表于 2014-09-19 更新于 2016-09-24 分类于 编程 Valine: 问题:1.用箱子表示法表示以下列表: 1234(a) (a b (c d))(b) (a (b (c (d))))(c) (((a b) c) d)(d) (a (b . c) d) 答案: 问题:2.写一个保留原本列表中元素顺序的 union 版本: 12> (new-union '(a b c) '(b a d))(A B C D) 答案: 1234567(defun new-union(li li2) (let ((x (copy-list li))) (dolist(obj li2) (if (member obj x) () (setf x (append x (cons obj nil))))) x)) 问题:4.为什么 (member ‘(a) ‘((a) (b))) 返回 nil? 答案: 这个题是不是写错了?我的上面并没有返回 nil。返回的就是((a)(b))