> (member '(2) '((1) (3) (2) (4) (5))) ((2) (4) (5))となる.場合によって判定関数を変えたい場合に,
(defun member (item l &key (test #'eq)) (cond ((null l) nil) ((funcall test item (car l)) l) (t (member item (cdr l) :test test))))という具合に,keyword引数をつけた形で定義して,
> (member '(a) '((b) (a) (c))) NIL > (member '(a) '((b) (a) (c)) :test #'equal) ((A) (C)) > (member 'a '((b) (a) (c)) :key #'car) ((A) (C))