;; サンプルリスト
(setf r '(a b c d))
(setf s '(c d e))
 
;; 2つの集合で共通な要素を見つける
(intersection r s)
 
;; 2つの集合からすべての要素を見つける
(union r s)
 
;; 集合のメンバかどうか
(member 'd r)
 
;; 補集合かどうか
(subsetp s r)
 
;; 集合に要素を追加
(adjoin 'b s)
 
;; 重複する場合は追加しない
(adjoin 'c s)
 
;; 検索
(find 'a r) ;; A
 
;; 先頭を0番目にして何番目か
(position 'a r) ;; 0
 
;; 要素とマッチする数
(count 'a r) ;; 1
 
;; シーケンスの一部をコピーする
;; (subseq シーケンス コピー開始位置 &optional コピー対象外開始位置)
(subseq r 1 2) ;; (B)
(subseq r 1) ;; (B C D)
 
;; push も pop もシーケンスの先頭に作用する
;; 且つ、破壊的
> r
(A B C D)
> (push 'x r)
(X A B C D)
> r
(X A B C D)
> (pop r)
X
> r
(A B C D)
 
;; pushnew は要素の追加に cons ではなく adjoin を使う
;; こちらもやはり破壊的
> (pushnew 'n r)
(N A B C D)
> (pushnew 'a r)
(N A B C D)
 

 
 
 
 

§1537 · Posted By · 3月 22, 2014 · Development · Tags: , , , , · [Print]