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