LISP - When Construct

los whenA la macro le sigue una cláusula de prueba que se evalúa en to nil. Si la cláusula de prueba se evalúa como nula, no se evalúa ningún formulario y se devuelve nil; sin embargo, el resultado de la prueba es t, entonces se ejecuta la acción que sigue a la cláusula de prueba.

Sintaxis para when macro -

(when (test-clause) (<action1) )

Ejemplo

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

(setq a 100)
(when (> a 20)
   (format t "~% a is greater than 20"))
(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:

a is greater than 20
value of a is 100