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

时间:2016-12-26 13:39:24

标签: compare common-lisp

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

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

CL-USER 2 > (string-lessp 'a 'k)
0

谢谢你们

1 个答案:

答案 0 :(得分:10)

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

  

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

0是指定字符串不同意的第一个字符的索引。