char= char1 char2 ... ⇒ обобщённое-булево
char/= char1 char2 ... ⇒ обобщённое-булево
char< char1 char2 ... ⇒ обобщённое-булево
char> char1 char2 ... ⇒ обобщённое-булево
char<= char1 char2 ... ⇒ обобщённое-булево
char>= char1 char2 ... ⇒ обобщённое-булево
Предикаты eql и equal вызывают char=, когда оба аргумента — знаки.
char-equal char1 char2 ... ⇒ обобщённое-булево
char-not-equal char1 char2 ... ⇒ обобщённое-булево
char-lessp char1 char2 ... ⇒ обобщённое-булево
char-greaterp char1 char2 ... ⇒ обобщённое-булево
char-not-greaterp char1 char2 ... ⇒ обобщённое-булево
char-not-lessp char1 char2 ... ⇒ обобщённое-булево
Предикат equalp вызывает char-equal, когда оба аргумента — знаки.
Стандарт ANSI Common Lisp треубует от Лисп-систем, чтобы они корректно сопоставляли заглавные и строчные буквы лишь для латиницы. В отношении других языков обязательств нет и разные реализации Крммрн Лисп проступают по-разному.
Например, в CLISP и SBCL вышеуказанные функции корректно работают для русские букв.
В LispWorks же стандартные функции не работают и для регистро-независимое
сравнения букв других языкгов существуют следующие аналоги в нестандартном пакете
lw
:
lw:unicode-char-equal char1 char2 ⇒ обобщённое-булево
lw:unicode-char-not-equal char1 char2 ⇒ обобщённое-булево
lw:unicode-char-lessp char1 char2 ⇒ обобщённое-булево
lw:unicode-char-greaterp char1 char2 ⇒ обобщённое-булево
lw:unicode-char-not-greaterp char1 char2 ⇒ обобщённое-булево
lw:unicode-char-not-lessp char1 char2 ⇒ обобщённое-булево