Function SUBSETP
subsetp
list-1 list-2 &key key test test-not => generalized-boolean
list-1 - 通常のリスト
list-2 - 通常のリスト
test - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
test-not - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
key - 1つの引数を取りgeneralized-booleanを返却する関数の指定子、 またはnil
generalized-boolean - generalized-boolean
subsetp
は、list-1の全ての要素が、 list-2のどれかの要素にマッチしたらtrueを、 それ以外はfalseを返却します。
あるリストの要素が、他のリスト要素と同じかどうかは、 キーワード引数で指定された関数によって決定されます。 :test
か:test-not
の関数の最初の要素は通常はlist-1の要素であり、 :key
関数によって返却されたものです。 二番目の引数は通常はlist-2の要素であり、 :key
関数によって返却されたものです。
:key
関数の引数は、list-1かlist-2の要素です。 返却値は、引数で与えられたリスト要素からなる、 判定に使われる要素の部分です。 もし:key
が与えられないか、あるいはnil
が指定されたとき、 list-1とlist-2の要素自身がが使われ、 :test
か:test-not
関数に供給されます。
setq cosmos '(1 "a" (1 2))) => (1 "a" (1 2))
(subsetp '(1) cosmos) => true
(subsetp '((1 2)) cosmos) => false
(subsetp '((1 2)) cosmos :test 'equal) => true
(subsetp '(1 "A") cosmos :test #'equalp) => true
(subsetp '((1) (2)) '((1) (2))) => false
(subsetp '((1) (2)) '((1) (2)) :key #'car) => true (
なし。
なし。
list-1とlist-2が通常のリストではないとき、 型type-error
のエラーを通知する準備をしなければなりません。
3.6. 横断の規則と副作用
:test-not
パラメーターは非推奨です。