Я пытаюсь написать контейнерную функцию, которая принимает имя функции, ее аргументы и вызывает функцию с дополнительным аргументом.Пропустить функцию как аргумент и ввести другой аргумент
Я уверен, что делаю это неправильно, но вот что у меня есть.
(defn get-dyn [& args]
((first args) "some" (rest args)))
Итак, первый аргумент является именем функции, и эта функция может иметь любое количество аргументов, так что я думаю, я должен принять необязательный параметр? Мне нужно ввести общий аргумент "some"
во все функции, которые я вызываю с помощью этой функции.
так,
(get-dyn str 3 4)
(get-dyn str 32 "willhelm")
и т.д .. и я бы ожидать, что это будет эквивалентно делать
(str "some" 3 4)
(str "some" 32 "wilhelm")
За исключением, то (rest args)
возвращает набор, чтобы он не работает таким образом.
Я пробовал делать это с partial
, но не смог его обработать.
Есть ли способ решить эту проблему? или я лучше использую induvidual функции?
Спасибо, это на самом деле намного более читаемо. – LocustHorde