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