大家好,
我觉得我在 cljs core.async 1.3.610 中找到了一个错误(clj 运行正常)。你们同意我的看法吗?
问题
(cljs.core.async/go
(println "XXX before")
(let [old 1
new „my-new"]
(println "XXX after")
(println [old new])))
=> „XXX vorher"
=> „XXX nacher"
=> TypeError TypeError: 1.call is not a function
将 new 符号改为 xnew 可以解决问题
(cljs.core.async/go
(println "XXX before")
(let [old 1
xnew „my-new"]
(println "XXX after")
(println [old xnew])))
=> „XXX vorher"
=> „XXX nacher"
=> [1 „my-new"]
以下宏展开片段显示了我想表达的错误。实例化 cljs.core/PersistentVector 时使用了错误的 new
...
(clojure.core/let
[inst_35971
(println "XXX before")
inst_35972
(. cljs.core/PersistentVector -EMPTY-NODE)
inst_35973
(js* "[{},{}]" 1 "my-new")
inst_35974
("my-new"
cljs.core/PersistentVector
nil
2
5
inst_35972
inst_35973
nil)
inst_35975
(println inst_35974)
state_35977
…]
…))
因此,请不要将 new 作为符号使用!:-$