【发布时间】:2012-03-31 20:03:18
【问题描述】:
我有一个从地图中删除键的函数:
(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)))))
【问题讨论】:
标签: clojure