我试图按字母顺序比较符号,但我不能这样做。 特别是,我已经做到了。
CL-USER 1 > (string-lessp 'k 'a)
NIL
CL-USER 2 > (string-lessp 'a 'k)
0
谢谢你们
答案 0 :(得分:10)
在Common Lisp中,NIL是假的,其他任何东西都是真的。所以在你的成绩单中,0是一个真值,表明A在K之前。而不是简单地返回T和NIL,STRING-LESSP返回一个不匹配的索引:
不等式函数返回不匹配索引,如果字符串不相等则返回true,否则返回false。当mismatch-index为true时,它是一个整数,表示两个子串不同的第一个字符位置,作为从string1开头的偏移量。
0是指定字符串不同意的第一个字符的索引。