我如何将字符与 Common Lisp 进行比较?
我用谷歌搜索了一下,发现有一些函数可以进行比较,比如 char=
, char/=
, char<
, char>
, char<=
, 和 char>=
.但是,我不能像这样使用所有功能:
(char= 'a 'a)
(char< 'a 'b)
如果我键入这些命令,CLISP 只会给我错误消息“Argument A is not a character”。为什么“A”不是一个字符?
我必须写成 (char= #\a #\a)
让它工作。
我想制作功能来进行字符排序。
谢谢。 抱歉我的英语不好。
最佳答案
A
是一个符号,而不是一个字符。字符串函数将接受符号并使用符号的名称,但字符函数只接受使用 #\
语法输入的真实字符对象。所以你可以这样做:
(string< 'a 'a)
(string< 'a 'b)
供引用:
#\a
=> 字符"a"
=> 字符串a
=> 符号
关于sorting - Common Lisp 中的字符比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30362930/