例によって、リストがあったらリストの残りに対してリストを返すようにする。
(defun del (x lst) (cond ((null lst) nil) ((eq (car lst) x) (del x (cdr lst))) (t (cons (car lst) (del x (cdr lst)))))) (del 1 '(1 2 3)) (2 3) (del 1 '((1) 2 3)) ((1) 2 3) (defun del* (x lst) (cond ((null lst) nil) ((consp (car lst)) (cons (del* x (car lst)) (del* x (cdr lst)))) ((eq (car lst) x) (del* x (cdr lst))) (t (cons (car lst) (del* x (cdr lst)))))) del* (del* 1 '(1 (1) (1 2) (1 (1 3)))) (nil (2) ((3)))
リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)
- 作者: 山本和彦
- 出版社/メーカー: アスキー
- 発売日: 2000/05
- メディア: 単行本
- 購入: 2人 クリック: 76回
- この商品を含むブログ (44件) を見る