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, end—bounding 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
.
position—a bounding index of sequence, or nil
.
position
, position-if
, and position-if-not
each search sequence for an element that satisfies the test.
The position returned is the index within sequence
of the leftmost (if from-end is true)
or of the rightmost (if from-end is false)
element that satisfies the test;
otherwise nil
is returned.
The index returned is relative to the left-hand end of the entire sequence,
regardless of the value of start, end, or from-end.
(position #\a "baobab" :from-end t) → 4 (position-if #'oddp '((1) (2) (3) (4)) :start 1 :key #'car) → 2 (position 595 '()) → NIL (position-if-not #'integerp '(1 2 3 4 5.0)) → 4
Should be prepared to signal an error of type type-error
if
sequence is not a proper sequence.
find, Section 3.6 (Traversal Rules and Side Effects)
The :test-not argument is deprecated.
The function position-if-not
is deprecated.