Function SUBSETP

UP


Function SUBSETP

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-1list-2の要素です。 返却値は、引数で与えられたリスト要素からなる、 判定に使われる要素の部分です。 もし:keyが与えられないか、あるいはnilが指定されたとき、 list-1list-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-1list-2が通常のリストではないとき、 型type-errorのエラーを通知する準備をしなければなりません。

参考

3.6. 横断の規則と副作用

備考

:test-notパラメーターは非推奨です。


TOP, Github