LISP - Parâmetros Opcionais

Você pode definir uma função com parâmetros opcionais. Para fazer isso você precisa colocar o símbolo&optional antes dos nomes dos parâmetros opcionais.

Vamos escrever uma função que exibiria apenas os parâmetros recebidos.

Exemplo

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

(defun show-members (a b &optional c d) (write (list a b c d)))
(show-members 1 2 3)
(terpri)
(show-members 'a 'b 'c 'd)
(terpri)
(show-members 'a 'b)
(terpri)
(show-members 1 2 3 4)

Quando você executa o código, ele retorna o seguinte resultado -

(1 2 3 NIL)
(A B C D)
(A B NIL NIL)
(1 2 3 4)

Observe que os parâmetros c e d são os parâmetros opcionais no exemplo acima.