Условная инициализация элементов карты в 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, после создания карты, но в некоторых случаях я хочу, чтобы некоторые ключи имели нулевые значения, а другие вообще не были бы на карте, если бы они имели нулевые значения.

Ответы на вопрос(6)

Ваш ответ на вопрос