LISP - Construir If

o ifmacro é seguida por uma cláusula de teste que avalia t ou nil. Se a cláusula de teste for avaliada em t, a ação após a cláusula de teste será executada. Se for nulo, a próxima cláusula é avaliada.

Sintaxe para if -

(if (test-clause) (action1) (action2))

Exemplo 1

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

(setq a 10)
(if (> a 20)
   (format t "~% a is less than 20"))
(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

Exemplo 2

o if cláusula pode ser seguida por um opcional then cláusula.

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

(setq a 10)
(if (> a 20)
   then (format t "~% a is less than 20"))
(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 é -

a is less than 20
value of a is 10

Exemplo 3

Você também pode criar uma instrução do tipo if-then-else usando a cláusula if.

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

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

a is greater than 20
value of a is 100