Перебор пар карт clojure (цикл)

У меня есть последовательность карт -таких пар (в настоящее время около 17000 пар)

(def myseq '({:name "Peter" :rank 2222} {:name "Anna" :rank 111}))

Я хочу отфильтровать определенные пары в новую последовательность с

(filter (fn [x] (> x 222)) (:rank (first myseq)))

Я пытался выполнить итерацию с таким циклом, но продолжаю получать смерть потока -. Кроме того, если я использую фильтр для одной коллекции карт, он просто возвращает новую последовательность, не уверен, нужно ли мне создавать ее здесь?

(defn remove-lower [number myseq]
    (loop [i 0]
        (if (= i (count file))
            (println "done")
            (filter [x] (> x number))
                (:rank (first myseq))))
    (recur (rest myseq))))

Наконец, является ли цикл наиболее эффективным способом получения новой последовательности пар?

7
задан Brian Tompsett - 汤莱恩 4 March 2019 в 18:22
поделиться