【发布时间】:2016-03-10 04:38:18
【问题描述】:
假设我们有一个地图m,其结构如下:
{:a (go "a")
:b "b"
:c "c"
:d (go "d")}
如图所示,m 有四个键,其中两个包含通道。
问题:如何编写一个通用函数(或宏?)cleanse-map,它采用类似m 的映射并输出其无通道版本(其中,在这种情况下,应该是{:a "a" :b "b" :c "c" :d "d"})?
这个问题的一个很好的辅助函数可能如下:
(defn chan? [c]
(= (type (chan)) (type c)))
cleanse-map(或其他任何名称)的返回值本身是否是一个通道也无关紧要。即:
`(cleanse-map m) ;=> (go {:a "a" :b "b" :c "c" :d "d"})
【问题讨论】:
标签: clojure clojurescript core.async