我想通过一系列非收集功能传递一个集合.它可以通过多次使用地图来实现.如何更简洁地使用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
Run Code Online (Sandbox Code Playgroud)
(my-processor [{:text "123"} {:text "456"}]) ; => (123 456))
这应该工作:
(map (comp to-int sanitize get-text) coll)