Скажем, у меня есть функция foo:
(defun foo (x y &rest args)
...)
И я позже хочу обернуть его с помощью функциональной панели:
(defun bar (x &rest args)
(foo x 100 args))
Предположим, что панель была вызвана так: (bar 50 1 2 3)
С помощью этой настройки args представляет собой список в теле панели, который содержит конечные параметры, поэтому, когда я передаю его foo, вместо получения эквивалента (foo 50 100 1 2 3)
я, конечно, получаю (foo 50 100 '(1 2 3))
. Если бы это были макросы, я бы использовал `` (foo, x 100, @args) `внутри тела бара для объединения аргументов в вызов функции., @работает только внутри списка с обратным отсчетом.
Как я могу сделать такой же сокет в регулярной функции?