Я пытался фильтровать комплексный вектор, как этотClojure- фильтр комплексный вектор
(def mySymbolT [[:name "salary" :type "string" :kind "static" :index 0]
[:name "money" :type "string" :kind "static" :index 1]
[:name "count" :type "int" :kind "field" :index 0]])
Моя цель состоит в том, чтобы вернуть количество элементов, которое имеет тот же вид: Например, для типа «статические» Я ожидайте 2 в качестве ответа. До сих пор я должен написать это:
(defn countKind [symbolTable kind]
(count(map first(filter #(= (:kind %) kind) symbolTable))))
Его не работает. Я должен сказать, что я новичок в Clojure, и я не понимаю, как фильтр идет с картой, поэтому я буду рад услышать объяснения. (Да, я прочитал документацию о карте и фильтр, еще объяснениями отсутствующим для меня, особенно когда я пытаюсь применить к большим векторов.)
Я переключился на карты, хотя лучше знаю векторы. Из частот, например, как я могу фильтровать «статический» счет? Я пришел к '(второй (первый (фильтр # (= (первый%) вид) (частоты (map: kind symbol-table))))))', есть ли лучший способ? –