Estoy tratando de escribir una función Lisp que pueda tomar argumentos opcionales y de palabras clave. La función comienza¿Cómo puedo tener argumentos opcionales Y argumentos de palabras clave para la misma función?
(defun max-min (v &optional max min &keyword (start 0) (end nil))
Cuando intento llamar a la función usando los argumentos de la palabra clave pero no los opcionales, obtengo un error. Lo que estoy tratando de hacer es
(max-min #(1 2 3 4) :start 1 :end 2)
estoy recibiendo el error Error: :START' is not of the expected type REAL'
Asumo que esto se debe a que está tratando de obligar a :start
max
. ¿Cómo puedo hacer que esto funcione? Gracias.