我想通过一系列非收集功能传递一个集合。它可以通过多次使用地图来实现。如何更简洁地使用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
(my-processor [{:text "123"} {:text "456"}]) ; => (123 456))
答案 0 :(得分:5)
那应该有效:
(map (comp to-int sanitize get-text) coll)