LISP - If 构造
if 宏后跟一个计算结果为 t 或 nil 的测试子句。 如果测试子句的计算结果为 t,则执行测试子句后面的操作。 如果为零,则评估下一个子句。
if 的语法 −
(if (test-clause) (action1) (action2))
示例 1
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(setq a 10) (if (> a 20) (format t "~% a is less than 20")) (format t "~% value of a is ~d " a)
当你点击执行按钮,或者输入Ctrl+E,LISP立即执行,返回结果为 −
value of a is 10
示例 2
if 子句后面可以跟一个可选的 then 子句。
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(setq a 10) (if (> a 20) then (format t "~% a is less than 20")) (format t "~% value of a is ~d " a)
当你点击执行按钮,或者输入Ctrl+E,LISP立即执行,返回结果为 −
a is less than 20 value of a is 10
示例 3
您还可以使用 if 子句创建 if-then-else 类型语句。
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(setq a 100) (if (> a 20) (format t "~% a is greater than 20") (format t "~% a is less than 20")) (format t "~% value of a is ~d " a)
当你点击执行按钮,或者输入Ctrl+E,LISP立即执行,返回结果为 −
a is greater than 20 value of a is 100