应用于矢量的小型传感器
(let [xf (comp
(map inc)
(filter even?))]
(transduce xf + [1 2 3 4 5 6 7 8 9 10]))
;; => 30
此示例创建一个分配给本地 xf
的传感器,并使用 transduce
将其应用于某些数据。换能器为每个输入添加一个,只返回偶数。
transduce
类似于 reduce
,并使用提供的+
函数将输入集合折叠为单个值。
这类似于线程最后一个宏,但将输入数据与计算分开。
(->> [1 2 3 4 5 6 7 8 9 10]
(map inc)
(filter even?)
(reduce +))
;; => 30