ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 17 Sequences 17.2 Rules about Test Functions ### 17.2.1 Satisfying a Two-Argument Test When an object O is being considered iteratively against each element Ei of a sequence S by an operator F listed in the next figure, it is sometimes useful to control the way in which the presence of O is tested in S is tested by F. This control is offered on the basis of a function designated with either a `:test` or `:test-not` argument.
Operators that have Two-Argument Tests to be Satisfied
adjoin | nset-exclusive-or | search
assoc | nsublis | set-difference
count | nsubst | set-exclusive-or
delete | nsubstitute | sublis
find | nunion | subsetp
intersection | position | subst
member | pushnew | substitute
mismatch | rassoc | tree-equal
nintersection | remove | union
nset-difference | remove-duplicates |
The object O might not be compared directly to Ei. 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.) The function designated by the `:key` argument is never called on O itself. However, if the function operates on multiple sequences (e.g., as happens in set-difference), O will be the result of calling the `:key` function on an element of the other sequence. A `:test` argument, if supplied to F, is a designator for a function of two arguments, O and Zi. An Ei is said (or, sometimes, an O and an Ei are said) to satisfy the test if this `:test` function returns a generalized boolean representing true. A `:test-not` argument, if supplied to F, is designator for a function of two arguments, O and Zi. An Ei is said (or, sometimes, an O and an Ei are said) to satisfy the test if this `:test-not` function returns a generalized boolean representing false. If neither a `:test` nor a `:test-not` argument is supplied, it is as if a `:test` argument of `#'eql` was supplied. The consequences are unspecified if both a `:test` and a `:test-not` argument are supplied in the same call to F. 17.2.1.1 Examples of Satisfying a Two-Argument Test

© Franz Inc. All Rights Reserved - File last updated 2022-07-25