创建使用传感器
因此,如果没有使用集合调用,Clojure 贴图和滤镜上最常用的函数已被修改为返回换能器(可组合算法转换)。这意味着:
(map inc)
返回一个传感器,(filter odd?)
也是如此
优点:函数可以通过 comp 组成单个函数,这意味着只遍历集合一次。在某些情况下,运行时间节省超过 50%。
定义:
(def composed-fn (comp (map inc) (filter odd?)))
用法:
;; So instead of doing this:
(->> [1 8 3 10 5]
(map inc)
(filter odd?))
;; Output [9 11]
;; We do this:
(into [] composed-fn [1 8 3 10 5])
;; Output: [9 11]