Дано
(def data
(list
{:a "a" :b "b" :c "c"}
{:a "d" :b "e" :c "f"}
{:a "g" :b "h" :c "i"}
{:a "j" :b "k" :c "l"}))
Затем
=> (filter (comp (set (list "c" "i")) :c) data)
({:a "a", :b "b", :c "c"} {:a "g", :b "h", :c "i"})
- Ваши списки должны
list
в качестве оператора (или для цитирования). - Я предполагаюВы хотите отфильтровать по значению ключа
:c
, которое не обязательно должно быть второй записью на печатной карте.
Вам необходимо разобраться с двумя или тремя аспектами Clojure:
- Как работают функции последовательности, такие как
filter
. - Использование наборов и ключевых слов в качестве функций.
- Что делает
comp
.