Я начал получать некоторое функциональное программирование несколько недель назад, и я пытаюсь выполнить отображение из списка карт в список с учетом определенного ключа в clojure.
Мой список карт выглядиткак: '({:a "a1" :b "b1" :c "c1"} {:a "a2" :b "b2" :c "c2"} {:a "a3" :b "b3" :c "c3"})
И вывод, который я пытаюсь получить: '("b1" "b2" "b3")
.
Я пробовал следующее:
(doseq [m maps]
(println (list (get m :b))))
И мойвывод представляет собой список списков (что ожидается, когда я создаю список для каждой итерации).Итак, мой вопрос, как я могу сократить это до одного списка?
Обновление
Только что попробовал следующее:
(let [x '()]
(doseq [m map]
(conj x (get m :b))))
Однако,это все еще не работает.Я не понимаю, как я собирался добавлять элементы в пустой список