ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL version 8.0
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   17 Sequences   17.3 Dictionary of Sequences

17.3.17 mismatch Function

Syntax:
mismatch sequence-1 sequence-2 &key from-end test test-not key start1 start2 end1 end2
     position

Arguments and Values:
Sequence-1 - a sequence.

Sequence-2 - a sequence.

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.

start1, end1 - bounding index designators of sequence-1. The defaults for start1 and end1 are 0 and nil, respectively.

start2, end2 - bounding index designators of sequence-2. The defaults for start2 and end2 are 0 and nil, respectively.

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

position - a bounding index of sequence-1, or nil.

Description:
The specified subsequences of sequence-1 and sequence-2 are compared element-wise.

The key argument is used for both the sequence-1 and the sequence-2.

If sequence-1 and sequence-2 are of equal length and match in every element, the result is false. Otherwise, the result is a non-negative integer, the index within sequence-1 of the leftmost or rightmost position, depending on from-end, at which the two subsequences fail to match. If one subsequence is shorter than and a matching prefix of the other, the result is the index relative to sequence-1 beyond the last position tested.

If from-end is true, then one plus the index of the rightmost position in which the sequences differ is returned. In effect, the subsequences are aligned at their right-hand ends; then, the last elements are compared, the penultimate elements, and so on. The index returned is an index relative to sequence-1.

Examples:
 (mismatch "abcd" "ABCDE" :test #'char-equal)  4
 (mismatch '(3 2 1 1 2 3) '(1 2 3) :from-end t)  3
 (mismatch '(1 2 3) '(2 3 4) :test-not #'eq :key #'oddp)   NIL
 (mismatch '(1 2 3 4 5 6) '(3 4 5 6 7) :start1 2 :end2 4)   NIL 

See Also:
Section 3.6 Traversal Rules and Side Effects

Notes:
The :test-not argument is deprecated.

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. 1998-2005 - File last updated 6-21-2002