У меня есть функция, которая принимает следующий видВыполнение функции, которая передает свои аргументы, как: ключи к другой функции
(defn foo [& {:keys [x y z]}]
...)
И я хочу, чтобы создать функцию, которая принимает только ключи у и г, но всегда дает x такое же значение. Я мог бы написать это
(defn bar [& {:keys [y z]}]
(foo :x "blah" :y y :z z))
Моя единственная проблема в том, что я должен повторить {: ключи ...} снова бит, и фактическая функция Foo имеет гораздо больше ключей, которые могут измениться в будущем. Есть ли способ заставить бар принять любые пары ключ-значение и просто передать их все в foo, удостоверившись, что x остается неизменным?
Вам нужна ваша функция, чтобы быть вариационной? Или вы просто хотите передать карту? –
Он должен быть переменным, я не хочу передавать карту. – Sotanaht