前回
リスト遊び 5-4 集合* - by shigemk2
equivを改造する
また例によって、condを拡張することで、入れ子のリストも
比較出来るように拡張する。
(defun equiv (x y) (cond ((and (null x) (null y)) t) ((or (null x) (null y)) nil) (t (and (eq (car x) (car y)) (equiv (cdr x) (cdr y)))))) equiv (equiv '(1 2 3) '(1 2 3)) t (equiv '((1) 2 3) '((1) 2 3)) nil (defun equiv* (x y) (cond ((and (null x) (null y)) t) ((or (null x) (null y)) nil) ((and (consp (car x)) (consp (car y))) (and(equiv* (car x) (car y)) (equiv* (cdr x) (cdr y)))) ((or (consp (car x)) (consp (car y))) nil) (t (and (eq (car x) (car y)) (equiv* (cdr x) (cdr y)))))) equiv* (equiv* '(1 2 3) '(1 2 3)) t (equiv* '(1 2 3) '(1 2 4)) nil (equiv* '((1) 2 3) '(1 2 3)) nil
![リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language) リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)](http://ecx.images-amazon.com/images/I/51BZ2NQA92L._SL160_.jpg)
リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)
- 作者: 山本和彦
- 出版社/メーカー: アスキー
- 発売日: 2000/05
- メディア: 単行本
- 購入: 2人 クリック: 76回
- この商品を含むブログ (44件) を見る