У меня есть функция, которая удаляет ключ с карты:
(defn remove-key [key map]
(into {}
(remove (fn [[k v]] (#{key} k))
map)))
(remove-key :foo {:foo 1 :bar 2 :baz 3})
Как применить эту функцию с помощью нескольких клавиш?
(remove-keys [:foo :bar] {:foo 1 :bar 2 :baz 3})
У меня есть реализация, использующая цикл... recur. Есть ли более идиоматический способ сделать это в Clojure?
(defn remove-keys [keys map]
(loop [keys keys
map map]
(if (empty? keys)
map
(recur (rest keys) (remove-key (first keys) map)))))