如何在Common Lisp中按字母顺序比较符号?

ran*_*192 1 compare common-lisp

我试图按字母顺序比较符号,但我不能这样做.特别是,我做到了这一点.

CL-USER 1 > (string-lessp 'k 'a)
NIL

CL-USER 2 > (string-lessp 'a 'k)
0
Run Code Online (Sandbox Code Playgroud)

感谢你们

Jos*_*lor 10

在Common Lisp中,NIL是错误的,其他任何东西都是真的.所以在你的成绩单中,0是一个真值,表明A在K之前.而不是简单地返回T和NIL,STRING-LESSP返回一个不匹配的索引:

不等式函数返回不匹配索引,如果字符串不相等则为true,否则为false.当mismatch-index为true时,它是一个整数,表示两个子串不同的第一个字符位置,作为从string1开头的偏移量.

0是指定字符串不一致的第一个字符的索引.