Common Lisp 中的字符比较
Char Comparison in Common Lisp
如何将字符与 Common Lisp 进行比较?
我有 google 它,发现有一些函数可以进行比较,比如 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
=> 符号
您可以像这样对字符列表进行排序。
(sort (list #\b #\c #\a) #'char<)
如何将字符与 Common Lisp 进行比较?
我有 google 它,发现有一些函数可以进行比较,比如 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
=> 符号
您可以像这样对字符列表进行排序。
(sort (list #\b #\c #\a) #'char<)