應用於向量的小型感測器
(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