我想通过一系列非集合函数传递集合。可以通过多次使用map来实现。如何更简洁地使用 clojure/函数式编程惯用方式做到这一点:
(defn my-processor [coll]
(let [get-text (fn [element] (:text element))
sanitize (fn [element] (string/trim element))
to-int (fn [element] (Integer. element))]
(map to-int (map sanitize (map get-text coll))))) ; <-- this line
(我的处理器 [{:text "123"} {:text "456"}]) ; =>(123 456))
最佳答案
这应该有效:
(map (comp to-int sanitize get-text) coll)
关于clojure - 如何在集合上映射(组合)函数中的多个非集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45659978/