應用於向量的小型感測器

(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