Я пытаюсь написать функцию Lisp, которая может принимать необязательные аргументы и аргументы ключевого слова. Функция начинается с
(defun max-min (v &optional max min &keyword (start 0) (end nil))
Когда я пытаюсь вызвать функцию, используя аргументы ключевого слова, но не дополнительные, я получаю сообщение об ошибке. Я пытаюсь сделать следующее:
(max-min #(1 2 3 4) :start 1 :end 2)
Я получаю сообщение об ошибке Ошибка: : START 'не соответствует ожидаемому типу REAL'
Я предполагаю, что это потому, что он пытается привязать : start
к max
. Как я могу заставить это работать? Спасибо.