- LISP 教程
- LISP - 主页
- LISP - 概述
- LISP - 环境
- LISP - 程序结构
- LISP - 基本语法
- LISP - 数据类型
- LISP - 宏
- LISP - 变量
- LISP - 常量
- LISP - 运算符
- LISP - 决策
- LISP - 循环
- LISP - 函数
- LISP - 谓词
- LISP - 数字
- LISP - 字符
- LISP - 数组
- LISP - 字符串
- LISP - 序列
- LISP - 列表
- LISP - 符号
- LISP - 向量
- LISP - 设置
- LISP - 树
- LISP - 哈希表
- LISP - 输入和输出
- LISP - 文件 I/O
- LISP - 结构
- LISP - 包
- LISP - 错误处理
- LISP-CLOS
- LISP 有用资源
- Lisp - 快速指南
- Lisp - 有用的资源
- Lisp - 讨论
LISP - 字符
在 LISP 中,字符被表示为字符类型的数据对象。
您可以在字符本身之前的 #\ 之前表示字符对象。例如#\a表示字符a。
空格和其他特殊字符可以在字符名称前加上 #\ 来表示。例如,#\SPACE 表示空格字符。
以下示例演示了这一点 -
例子
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(write 'a) (terpri) (write #\a) (terpri) (write-char #\a) (terpri) (write-char 'a)
当您执行代码时,它会返回以下结果 -
A #\a a *** - WRITE-CHAR: argument A is not a character
特殊字符
Common LISP 允许在代码中使用以下特殊字符。他们被称为半标准字符。
- #\退格键
- #\标签
- #\换行
- #\页
- #\返回
- #\抹去
字符比较函数
数字比较函数和运算符(例如 < 和 >)不适用于字符。Common LISP 提供了另外两组函数来比较代码中的字符。
一组区分大小写,另一组不区分大小写。
下表提供了功能 -
区分大小写的函数 | 不区分大小写的函数 | 描述 |
---|---|---|
字符= | 字符等于 | 检查操作数的值是否全部相等,如果相等则条件成立。 |
字符/= | 字符不等于 | 检查操作数的值是否全部不同,如果值不相等则条件成立。 |
字符< | 无字符型 | 检查操作数的值是否单调递减。 |
字符> | char-greaterp | 检查操作数的值是否单调递增。 |
字符<= | 字符不大于 | 检查任何左操作数的值是否大于或等于下一个右操作数的值,如果是,则条件为真。 |
字符>= | 字符非lessp | 检查任何左操作数的值是否小于或等于其右操作数的值,如果是,则条件为真。 |
例子
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
; case-sensitive comparison (write (char= #\a #\b)) (terpri) (write (char= #\a #\a)) (terpri) (write (char= #\a #\A)) (terpri) ;case-insensitive comparision (write (char-equal #\a #\A)) (terpri) (write (char-equal #\a #\b)) (terpri) (write (char-lessp #\a #\b #\c)) (terpri) (write (char-greaterp #\a #\b #\c))
当您执行代码时,它会返回以下结果 -
NIL T NIL T NIL T NIL