Apropos

count, count-if, count-if-notFunction

    Syntax

    count item sequence &key from-end start end key test test-not n

    count-if predicate sequence &key from-end start end key n

    count-if-not predicate sequence &key from-end start end key n

    Arguments and Values

    item — an object.

    sequence — a proper sequence.

    predicate — a designator for a function of one argument that returns a generalized boolean.

    from-end — a generalized boolean. The default is false.

    test — a designator for a function of two arguments that returns a generalized boolean.

    test-not — a designator for a function of two arguments that returns a generalized boolean.

    start, endbounding index designators of sequence. The defaults for start and end are 0 and nil, respectively.

    key — a designator for a function of one argument, or nil.

    n — a non-negative integer less than or equal to the length of sequence.

    Description

    count, count-if, and count-if-not count and return the number of elements in the sequence bounded by start and end that satisfy the test.

    The from-end has no direct effect on the result. However, if from-end is true, the elements of sequence will be supplied as arguments to the test, test-not, and key in reverse order, which may change the side-effects, if any, of those functions.

    Examples
    (count #\a "how many A's are there in here?")  2 
    (count-if-not #'oddp '((1) (2) (3) (4)) :key #'car)  2 
    (count-if #'upper-case-p "The Crying of Lot 49" :start 4)  2
    Exceptional Situations

    Should be prepared to signal an error of type type-error if sequence is not a proper sequence.

    See Also

    Section 17.2 (Rules about Test Functions), Section 3.6 (Traversal Rules and Side Effects)

    Notes

    The :test-not argument is deprecated.

    The function count-if-not is deprecated.