LISP - cond 构造
LISP 中的 cond 结构最常用于允许分支。
cond 的语法是 −
(cond (test1 action1) (test2 action2) ... (testn actionn))
cond 语句中的每个子句都包含一个条件测试和要执行的操作。
如果 cond 之后的第一个测试 test1 被评估为 true,则执行相关操作部分 action1,返回其值并跳过其余子句。
如果 test1 的计算结果为 nil,则控制转移到第二个子句,而不执行 action1,并且遵循相同的过程。
如果没有一个测试条件被评估为 true,则 cond 语句返回 nil。
示例
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码 −
(setq a 10) (cond ((> a 20) (format t "~% a is greater than 20")) (t (format t "~% value of a is ~d " a)))
当你点击执行按钮,或者输入Ctrl+E,LISP立即执行,返回结果为 −
value of a is 10
请注意,第二个子句中的 t 确保执行最后一个操作(如果没有其他操作)。