Tracks
/
Common Lisp
Common Lisp
/
Temario
/
Parámetros opcionales
Pa

Parámetros opcionales en Common Lisp

2 ejercicios

Acerca de Parámetros opcionales

Un parámetro opcional se designa con la palabra clave de lista de lambda &optional en una lista de lambda. Los parámetros opcionales no son obligatorios, pueden tener un valor por defecto y también pueden especificar un «parámetro supplied-p» que será «verdadero» o «falso» según si se proporcionó un argumento para el parámetro.

(defun optional-parameter (&optional (arg -1)) arg)
(optional-parameter)    ; => -1
(optional-parameter 13) ; => 13

Los parámetros opcionales deben colocarse después de los parámetros obligatorios pero antes de los parámetros con nombre o rest. Los argumentos se vinculan primero a los parámetros obligatorios, luego a los parámetros opcionales y finalmente a los parámetros rest y con nombre.

(defun req-and-opt (req &optional (opt -1)) (list req opt)
(req-and-opt 1)    ; => (1 -1)
(req-and-opt 1 13) ; => (1 13)

Aunque se pueden combinar varios tipos de parámetros con otros tipos de parámetros (parámetros opcionales y de palabra clave), esto puede ser problemático y debe hacerse con cuidado. Consulta la sección sobre «Combinar diferentes tipos de parámetros» en Practical Common Lisp.

Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Parámetros opcionales

La práctica está bloqueada

Desbloquea 1 ejercicio más para practicar Parámetros opcionales