LISP - cond 构造

  • 简述

    condLISP 中的构造最常用于允许分支。
    语法为cond是 -
    
    (cond   (test1    action1)
       (test2    action2)
       ...
       (testn   actionn))
    
    cond 语句中的每个子句都包含条件测试和要执行的操作。
    如果 cond 之后的第一个测试 test1 被评估为真,则执行相关的操作部分 action1,返回其值并跳过其余子句。
    如果 test1 的计算结果为 nil,则控制移至第二个子句而不执行 action1,并遵循相同的过程。
    如果没有任何测试条件被评估为真,则 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在第二个子句中确保在没有其他人愿意的情况下执行最后一个操作。