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.