Common Lisp中的Char比较

Kad*_*ama -2 lisp sorting comparison common-lisp char

如何将字符与Common Lisp进行比较?我有google一下,发现有一些功能做比较,比如char=,char/=,char<,char>,char<=,和char>=.但是,我不能像以下那样使用所有功能:

(char= 'a 'a)  
(char< 'a 'b)
Run Code Online (Sandbox Code Playgroud)

如果我键入这些命令,CLISP只是给我错误消息"参数A不是一个字符".为什么"A"不是角色?我必须写(char= #\a #\a)它才能让它发挥作用.我想创建函数来进行字符排序.

谢谢.对不起,我的英语不好.

Bar*_*mar 6

A是一个符号,而不是一个角色.字符串函数将接受符号并使用符号的名称,但字符函数仅接受使用#\语法输入的真实字符对象.所以你可以这样做:

(string< 'a 'a)
(string< 'a 'b)
Run Code Online (Sandbox Code Playgroud)

以供参考:

  • #\a =>字符
  • "a" =>字符串
  • a =>符号