【发布时间】:2014-10-27 11:49:31
【问题描述】:
我正在尝试将 core.async 通道的结果转储到标准输出。
这是我所拥有的(简化示例):
(use 'clojure.core.async)
(def mychan (to-chan (range 100)))
(loop []
(let [a (<!! mychan)]
(if (not (nil? a))
(do
(println a)
(recur)))))
现在我想我应该可以用地图替换它了:
(map (fn [a] (println a) a) [mychan])
但这似乎很懒惰,并没有返回任何结果。
我不禁觉得我的循环功能在某种程度上是一种解决方法。我的问题是 - 迭代 core.async 通道以进行打印的最佳方式是什么?
【问题讨论】:
标签: clojure core.async