У меня есть функция Clojure с параметром: [{:keys [from to]}]
. Клавиши from
и to
являются необязательными. Я хотел бы переназначить эти ключи в новые ключи, но сохраняя значения. Какой эффективный / идиоматический способ сделать это? Вот мое текущее решение.
(defn query
[{:keys [from to]}]
(let [re-map {:$gte from
:$lt to}]
(into {} (remove #(nil? (val %)) re-map))))
Мне нужно вернуть один или оба, и не ноль, если один из ключей не был введен. Итак
=>(query {:from 10})
{:$gte 10}
и
=>(query {:from 10 :to 20})
{:$gte 10 :lt 20}