adjoin

Title
adjoin
Type
Function
Arguments
adjoin ITEM LIST &key :test :test-not :key
Package
lisp
Section
リスト
File
builtin.l
ITEM が LIST の member でなければ先頭に追加した LIST を返す。 member なら LIST を
そのまま返します。

  (adjoin item list) == (if (member item list) list (cons item list))

  :key : :keyに fn が指定された場合,xyzzyでは
          (adjoin item list) == (if (member item list :key fn) list (cons item list))
         となりますが,CLTL2では次のように動作し,非互換です.
          (adjoin item list) == (if (member (funcall fn item) list :key fn) list (cons item list))

使用例:
  (adjoin 'a '(b c d))
  => (a b c d)
  (adjoin 'b '(a b c d))
  => (a b c d)
  (adjoin '(a) '((b) (c) (d)) :key #'car)
  => ((a) (b) (c) (d))
Seealso
pushnew