sorting - Common Lisp 中的字符比较

标签 sorting char comparison lisp common-lisp

我如何将字符与 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/

相关文章:

C++将字符串数组的元素存储到变量中

ruby - ruby 测试 nil 会抛出错误

c - 在 C 中比较不同数据类型的一般规则是什么?

c++ - 如何在保持原始索引的同时对 vector 的 vector 进行排序?

c - 带有 %d 和 %c 的 char scanf 的不同答案

linux - 零填充和排序 - Linux Shell 脚本

c++ - 机器相关指针值的混淆

java - 如何获取Date数据类型中不带时间戳的系统日期?

c# - 合并排序代码不起作用并显示异常

java - 如何计算比较器/比较器中的比较次数?