Условная инициализация элементов карты в Clojure
Я ищу лучший способ условно избежать добавления элемента на карту, когда он инициализируется / определяется. В этом случае я хочу избежать добавления элемента на карту, если значение ключа равно нулю.
(defn create-record [data]
(let [res {
:username (data :username)
:first-name (get-in data [:user-info :name :first])
:last-name (get-in data [:user-info :name :last])
:gender (get-in data [:user-info :sex])
}])
)
Я не хочу добавлять пол на карту, если результаты въезда равны нулю (поле пола в данных не существует). Есть ли способ сделать это, когда я создаю карту? Я мог бы удалить все ключи, значение которых равно nil, после создания карты, но в некоторых случаях я хочу, чтобы некоторые ключи имели нулевые значения, а другие вообще не были бы на карте, если бы они имели нулевые значения.