【发布时间】:2011-09-08 15:07:42
【问题描述】:
我有一个带有参数的 Clojure 函数:[{:keys [from to]}]。 from 和 to 键都是可选的。我想将这些键重新映射到新键但保持值。解决此问题的有效/惯用方法是什么?这是我目前的解决方案。
(defn query
[{:keys [from to]}]
(let [re-map {:$gte from
:$lt to}]
(into {} (remove #(nil? (val %)) re-map))))
我需要它返回一个或两个,如果没有输入其中一个键,则不返回 nil。所以
=>(query {:from 10})
{:$gte 10}
和
=>(query {:from 10 :to 20})
{:$gte 10 :lt 20}
【问题讨论】: