Parámetros opcionales en LISP

Los parámetros opcionales son los parámetros que son opcionales en la función. Podemos poner parámetros opcionales siempre que los argumentos no sean necesarios. Si mantenemos los parámetros opcionales en una función y pasamos los valores, entonces los valores se toman en lugar de los parámetros opcionales. Si no se pasan los valores, los parámetros opcionales tomarán NIL y devolverán NIL. Si queremos poner parámetros opcionales como argumentos, entonces ponga &opcional antes de los nombres de los parámetros opcionales.

Sintaxis de la función:

(defun function_name (parameter1,parameter2,.......,parameter n.... &optional )
other statements))
(call function value1,value2,.,value n, optional values)

Ejemplo: programa LISP para mostrar todos sus parámetros pasados.

Lisp

;create a function named display
;pass the 2 parameters and optional as three parameters
(defun display (val1 val2 &optional op1 op2 op3) (write (list val1 val2 op1 op2 op3)))
 
;pass the all values
(display 10 20 30 40 50)
(terpri)
 
;pass only two values
(display 10 20 )
(terpri)
 
;pass only three values
(display 10 20 30)
(terpri)
 
;pass only four values
(display 10 20 30 40)
(terpri)

Producción:

(10 20 30 40 50)
(10 20 NIL NIL NIL)
(10 20 30 NIL NIL)
(10 20 30 40 NIL)

Ejemplo 2: Programa LISP para obtener la suma de números

Lisp

;create a function named sum
;pass the 2 parameters and optional as three parameters
(defun sum (val1 val2 &optional op1 op2 op3) (write ( + val1 val2 op1 op2 op3)))
 
;pass the all values to get sum
(sum 10 20 30 40 50)
(terpri)

Producción:

150

Publicación traducida automáticamente

Artículo escrito por deepakresearch222 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *