我有一组以地图形式动态生成的参数,例如
(def clauses {:apples 23 :plums 0 :bananas 7})
我想在一个where
语句中使用它,所以它应该成为 Korma 查询的等价物:
(select fruit-shop
(where (or {:apples 23}
{:plums 0}
{:bananas 7})))
生成地图列表非常简单:
(map #(apply array-map %)
(into [] clauses))
但是不能使用(or
应用于它的语句,因为它是在宏扩展时处理的,在clauses
绑定到它的值之前。
在这种情况下应该使用什么语句?