Function COMPLEMENT
complement
function => complement-function
function - 関数
complement-function - 関数
functionとしていくつかの引数をとる関数を返却します。 その関数は、functionとして同じ副作用の動作をしますが ただひとつだけの値を返却します。 返却値はgeneralized-booleanであり、 functionの第一返却値として返却されただろうものの 真偽値の反対を返却します。 つまり、functionがtrueを返却したとき complement-functionの第一返却値はfalseであり、 functionがfalseを返却したとき complement-functionの第一返却値はtrueです。
funcall (complement #'zerop) 1) => true
(funcall (complement #'characterp) #\A) => false
(funcall (complement #'member) 'a '(a b c)) => false
(funcall (complement #'member) 'd '(a b c)) => true (
なし。
なし。
なし。
complement x) == #'(lambda (&rest arguments) (not (apply x arguments))) (
Common Lispでは、 「xxx-if-not
」のような名前を持つ関数は、 「xxx-if
」のような名前を持つ関数と、 次のような関係があります。
complement f) . arguments) (xxx-if-not f . arguments) == (xxx-if (
例えば、次のようになります。
find-if-not #'zerop '(0 0 3)) ==
(find-if (complement #'zerop) '(0 0 3)) => 3 (
「xxx-if-not
」のような関数と:test-not
引数は非推奨です。 「xxx-if
」のような関数と:test
引数を、 complement
と一緒に使うことが好まれます。