#

## 17.2.2 Satisfying a One-Argument Test

When using one of the functions in the next figure, the elements E of a sequence S are filtered not on the basis of the presence or absence of an object O under a two argument predicate, as with the functions described in Section 17.2.1 (Satisfying a Two-Argument Test), but rather on the basis of a one argument predicate.

    assoc-if       member-if           rassoc-if
    assoc-if-not   member-if-not       rassoc-if-not
    count-if       nsubst-if           remove-if
    count-if-not   nsubst-if-not       remove-if-not
    delete-if      nsubstitute-if      subst-if
    delete-if-not  nsubstitute-if-not  subst-if-not
    find-if        position-if         substitute-if
    find-if-not    position-if-not     substitute-if-not

Figure 17-3. Operators that have One-Argument Tests to be Satisfied

The element Ei might not be considered directly. If a `:key` argument is provided, it is a designator for a function of one argument to be called with each Ei as an argument, and yielding an object Zi to be used for comparison. (If there is no `:key` argument, Zi is Ei.)

Functions defined in this specification and having a name that ends in ```-if`'' accept a first argument that is a designator for a function of one argument, Zi. An Ei is said to satisfy the test if this `:test` function returns a generalized boolean representing true.

Functions defined in this specification and having a name that ends in ```-if-not`'' accept a first argument that is a designator for a function of one argument, Zi. An Ei is said to satisfy the test if this `:test` function returns a generalized boolean representing false.

## 17.2.2.1 Examples of Satisfying a One-Argument Test

Copyright 1996-2005, LispWorks Ltd. All rights reserved.