LISP - Cond Construct

los cond La construcción en LISP se usa más comúnmente para permitir la ramificación.

Sintaxis para cond es -

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

Cada cláusula dentro de la instrucción cond consta de una prueba condicional y una acción a realizar.

Si la primera prueba que sigue a cond, test1, se evalúa como verdadera, entonces se ejecuta la parte de acción relacionada, action1, se devuelve su valor y se saltan el resto de las cláusulas.

Si test1 se evalúa como nulo, entonces el control pasa a la segunda cláusula sin ejecutar action1 y se sigue el mismo proceso.

Si ninguna de las condiciones de prueba se evalúa como verdadera, la declaración cond devuelve nil.

Ejemplo

Cree un nuevo archivo de código fuente llamado main.lisp y escriba el siguiente código en él:

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

Cuando hace clic en el botón Ejecutar, o escribe Ctrl + E, LISP lo ejecuta inmediatamente y el resultado devuelto es:

value of a is 10

Tenga en cuenta que el t en la segunda cláusula asegura que la última acción se realice si ninguna otra lo haría.