У меня есть набор динамически формируемые параметры в виде карты, какКорм: or'ing динамически где положения
(def clauses {:apples 23 :plums 0 :bananas 7})
, и я хочу, чтобы он в по ИЛИ where
заявления, так что должна стать эквивалентом запроса Корме:
(select fruit-shop
(where (or {:apples 23}
{:plums 0}
{:bananas 7})))
Создание списка карт довольно легко:
(map #(apply array-map %)
(into [] clauses))
Но нельзя использовать инструкцию (or
, потому что она обрабатывается при увеличении макросов, прежде чем clauses
привяжется к ее значению.
Какое заявление следует использовать в таком случае?