说我有一个地图m
像{"good1" 1, "bad1" 1, "good2" 2, "bad2" 2}
,我想基于一些谓词在地图键删除条目,要做到这一点的一种方式是:删除键
(defn dissoc-by [f m] (->> m (filter (complement f)) (into {})))
(dissoc-by #(.contains (first %1) "bad") m)
=> {"good1" 1, "good2" 2}
有没有更clojure这样做的习惯方法?
良好的渔获!我刚刚也注意到了这一点,但也许决定一个更一般的解决方案是将键值对传递给谓词。我也意识到,函数的命名约定意味着谓词应该删除,而不是保留元素。 – user12341234
是的,那在问题的方式以及。 [sic] –
选择匹配输入还是输出呃? –