Function STRING=
, STRING/=
, STRING<
, STRING>
, STRING<=
, STRING>=
, STRING-EQUAL
, STRING-NOT-EQUAL
, STRING-LESSP
, STRING-GREATERP
, STRING-NOT-GREATERP
, STRING-NOT-LESSP
string=
string1 string2 &key start1 end1 start2 end2 => generalized-boolean
string/=
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string<
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string>
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string<=
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string>=
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string-equal
string1 string2 &key start1 end1 start2 end2 => generalized-boolean
string-not-equal
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string-lessp
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string-greaterp
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string-not-greaterp
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string-not-lessp
string1 string2 &key start1 end1 start2 end2 => mismatch-index
string1 - string-designator
string2 - string-designator
start1, end1 - 文字列の境界インデックス指定子。 startとendの標準値はそれぞれ0
とnil
。
start2, end2 - 文字列の境界インデックス指定子。 startとendの標準値はそれぞれ0
とnil
。
generalized-boolean - generalized-boolean mismatch-index - string1の境界内インデックスか、nil
これらの関数はstring1とstring2の辞書式比較を行います。 string=
とstring-equal
は等式関数と呼ばれます。 その他の関数は不等式関数です。 これらの関数が行う比較演算は、 start1とend1で囲まれたstring1の部分文字列と、 start2とend2で囲まれたstring2の部分文字列に限定されます。
文字列a
と文字列b
が等しいとは、 どちらも同じ個数の文字を保有しており、 各文字がchar=
かchar-equal
の適用において等しい場合です。
文字列a
が文字列b
より小さいとは、 両者の文字が異なる最初の位置で、 a
の文字がchar<
またはchar-lessp
に従って b
の対応する文字より小さい場合、 あるいは文字列a
が文字列b
のプレフィックス (文字の長さが短く、a
のすべての文字に一致する)の場合です。
等式関数は、文字列が等しい場合は generalized-booleanにtrueを返却し、 それ以外はfalseを返却します。
不等式関数は、文字列が等しくない場合は mismatch-indexにtrueを返却し、 それ以外はfalseを返却します。
もしmismatch-indexがtrueの場合は、 string1の開始位置をオフセット値として、 2つの部分文字列が異なっている最初の文字の位置を整数で返却します。
比較は次のように行われます。
string=
string=
は、部分文字列の長さが同じであり、 対応する位置に同じ文字が含まれているときtrueを返却します。 それ以外はfalseです。
string-equal
string-equal
は、string=
と似ていますが、 大文字小文字の違いを無視するところが異なっています。 2つの文字はchar-equal
がtrueであれば同一とみなされます。
string<
string<
は、部分文字列1が部分文字列2よりも小さいときはtrueを、 それ以外はfalseを返却します。
string>
string>
は、部分文字列1が部分文字列2よりも大きいときはtrueを、 それ以外はfalseを返却します。
string-lessp
, string-greaterp
string-lessp
, string-greaterp
は、 それぞれstring<
, string>
と似ていますが、 大文字小文字を無視するところが異なっています。
string<=
string<=
は、部分文字列1が部分文字列2を比べて 等しいかあるいは小さいときはtrueを、 それ以外はfalseを返却します。
string>=
string>=
は、部分文字列1が部分文字列2を比べて 等しいかあるいは大きいときはtrueを、 それ以外はfalseを返却します。
string-not-greaterp
, string-not-lessp
string-not-greaterp
とstring-not-lessp
は、 それぞれstring<=
とstring>=
に似ていますが、 大文字小文字を無視するところが異なっています。 文字を比較するときに、char<
の代わりに char-lessp
が使用されたかのように行われます。
string= "foo" "foo") => true
(string= "foo" "Foo") => false
(string= "foo" "bar") => false
(string= "together" "frog" :start1 1 :end1 3 :start2 2) => true
(string-equal "foo" "Foo") => true
(string= "abcd" "01234abcd9012" :start2 5 :end2 9) => true
(string< "aaaa" "aaab") => 3
(string>= "aaaaa" "aaaa") => 4
(string-not-greaterp "Abcde" "abcdE") => 5
(string-lessp "012AAAA789" "01aaab6" :start1 3 :end1 7
(:start2 2 :end2 6) => 6
string-not-equal "AAAA" "aaaA") => false (
なし。
なし。
なし。
equal
は、2つの文字列を比較するときstring=
を呼び出します。