LISP - Cond Construct

o cond construir em LISP é mais comumente usado para permitir ramificação

Sintaxe para cond é -

(cond   (test1    action1)
   (test2    action2)
   ...
   (testn   actionn))

Cada cláusula dentro da instrução cond consiste em um teste condicional e uma ação a ser executada.

Se o primeiro teste após cond, test1, for avaliado como verdadeiro, a parte da ação relacionada, action1, será executada, seu valor será retornado e o restante das cláusulas será ignorado.

Se test1 for avaliado como nulo, o controle passa para a segunda cláusula sem executar a ação1 e o mesmo processo é seguido.

Se nenhuma das condições de teste for avaliada como verdadeira, a instrução cond retorna nil.

Exemplo

Crie um novo arquivo de código-fonte chamado main.lisp e digite o seguinte código nele -

(setq a 10)
(cond ((> a 20)
   (format t "~% a is greater than 20"))
   (t (format t "~% value of a is ~d " a)))

Quando você clica no botão Executar, ou digita Ctrl + E, o LISP executa imediatamente e o resultado retornado é -

value of a is 10

Observe que o t na segunda cláusula garante que a última ação seja executada, se nenhuma outra o faria.