npt-japanese

% Function MISMATCH

UP


Function MISMATCH

Function MISMATCH

構文

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

引数と戻り値

sequence-1 - 正常なシーケンス
sequence-2 - 正常なシーケンス
from-end - generalized-boolean、デフォルトはfalse
test - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
test-not - 2つの引数を取りgeneralized-booleanを返却する関数の指定子
key - 1つの引数を取る関数の指定子、またはnil
start1, end1 - sequence-1の境界インデックス指定子。 デフォルトはstart1, end1それぞれ0nil
start2, end2 - sequence-2の境界インデックス指定子。 デフォルトはstart2, end2それぞれ0nil
position - sequence-2の境界インデックスか、nil

定義

指定されたsequence-1sequence-2のサブシーケンスを 要素ごとに比較します。

keyの引数は、sequence-1sequence-2の両方が使われます。

もしsequence-1sequence-2の長さが等しく、 全ての要素も等しいときは、falseが返却されます。 それ以外の場合は、返却値は非負の整数であり、 2つのサブシーケンスがマッチしなかった、 もっとも右側か左側(from-endの値による)の、 sequence-1内でのインデックスを表します。 どちらかのサブシーケンスが他方より短く、 前の方で一致する部分がある場合、 返却値は、最後にテストをした位置より先の、 sequence-1に対する相対的なインデックスになります。

もしfrom-endtrueのときは、 2つのシーケンスの異なった位置の右端のインデックスに 1を加えた場所が返却されます。 実際の比較は、サブシーケンスは右端で揃えられ、 まず最後の要素が比較され、つぎに最後から2番目が比較され、 それが繰り返されます。 返却される値は、sequence-1からの相対的なインデックスです。

例文

(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 

副作用

なし。

影響

なし。

例外

なし。

参考

3.6. 横断の規則と副作用

備考

:test-notパラメーターは非推奨です。


TOP, Github