2024年Clojure调查》(点击此处)中分享您的看法!

欢迎!请参阅关于页面,了解更多关于如何使用本站的信息。

0
ClojureScript

在clojurescript中,我的数据读取器从tagged literal返回一个记录

(ns x.x)

(defrecord X [y])

(defn make-x [y] (->X y))

data_readers.cljc

{x x.x/make-x}

这在内部的go块中没有正确工作

(println "outside of go:" #x"a")
(go
  (println "inside of go:" (<! (go #x"b"))))

结果如下

outside of go: #x.x.X{:y a}
inside of go: {:y b}

@hiredman在clojurians slack中指出该问题

发生的事情如下
https://github.com/clojure/core.async/blob/master/src/main/clojure/cljs/core/async/impl/ioc_macros.clj#L403

map?返回true,因此它将您的记录编译为映射

1 答案

+1
...