- 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——文件输入/输出
- LISP——结构
- LISP——包
- LISP——错误处理
- LISP——CLOS
- LISP 有用资源
- Lisp——快速指南
- Lisp——有用资源
- Lisp——讨论
Lisp——case 结构
case 结构像 cond 结构那样实施多个测试-动作子句。但是,它会评估一个键形式,并基于该键形式的评估允许多个动作子句。
case 宏的语法如下 −
CASE 的模板如下:
(case (keyform) ((key1) (action1 action2 ...) ) ((key2) (action1 action2 ...) ) ... ((keyn) (action1 action2 ...) ))
示例
创建一个名为 main.lisp 的新源代码文件并输入以下代码。
main.lisp
; set day as 4 (setq day 4) ; compare day with corresponding cases and print the respective day (case day (1 (format t "~% Monday")) (2 (format t "~% Tuesday")) (3 (format t "~% Wednesday")) (4 (format t "~% Thursday")) (5 (format t "~% Friday")) (6 (format t "~% Saturday")) (7 (format t "~% Sunday")))
输出
单击“执行”按钮或键入 Ctrl+E 时,LISP 会立即执行它,并返回以下结果 −
Thursday
示例
更新名为 main.lisp 的源代码文件并输入以下代码。在此示例中,我们将基于用例执行不同的操作。
main.lisp
; set a as 2 (setq a 2) ; set b as 3 (setq b 3) ; set c as 3 to represent a case for multiplication (setq c 3) ; compare c with corresponding cases and print the respective operation result (case c (1 (print (+ a b))) ; get sum (2 (print (- a b))) ; get substraction (3 (print (* a b))) ; get multiplication (4 (print (/ a b)))) ; get division
输出
单击“执行”按钮或键入 Ctrl+E 时,LISP 会立即执行它,并返回以下结果 −
6
lisp_decisions.htm
广告