应用传感器

(def xf (filter keyword?))

应用于集合,返回序列:

(sequence xf [:a 1 2 :b :c]) ;; => (:a :b :c)

应用于集合,使用其他功能减少生成的集合:

(transduce xf str [:a 1 2 :b :c]) ;; => ":a:b:c"

应用于集合,并将结果发送到另一个集合:

(into [] xf [:a 1 2 :b :c]) ;; => [:a :b :c]

创建一个使用传感器过滤消息的核心异步通道:

(require '[clojure.core.async :refer [chan >!! <!! poll!]])
(doseq [e [:a 1 2 :b :c]] (>!! ch e))
(<!! ch) ;; => :a
(<!! ch) ;; => :b
(<!! ch) ;; => :c
(poll! ch) ;;=> nil