为什么这个使用 go 块的 clojure 代码不起作用?
Why doesn't this clojure code using go blocks work?
(defn ff [t]
(let [ch (chan 5)]
(map (fn [i]
(println i)) t)
(go (>! ch 0))))
(ff [1 2 3 4 5])
映射函数体没有被执行。如果我删除最后一行中的 go 块,它会按预期工作。
这个函数给出了同样的问题:
(defn ff [t]
(let [ch (chan 5)]
(map (fn [i]
(println i)) t)
(>!! ch 0)))
(defn ff [t]
(let [ch (chan 5)]
(map (fn [i]
(println i)) t)
(go (>! ch 0))))
(ff [1 2 3 4 5])
映射函数体没有被执行。如果我删除最后一行中的 go 块,它会按预期工作。
这个函数给出了同样的问题:
(defn ff [t]
(let [ch (chan 5)]
(map (fn [i]
(println i)) t)
(>!! ch 0)))