欢迎!有关此网站的更多信息,请查看 关于 页面。
如标题所示,def 似乎没有任何操作就通过了。
即 "(def x)" 成功但 "(def x 10)" 失败,因为"无法读取未定义的属性 (读取 'x')"
有关信息,请参阅文章:https://script.clojure.org/guides/self-hosting
指出:simple 优化应该可以工作
要重现,请参阅:https://github.com/sstraust/ClojureDefRepro (请参阅说明中的评论)
我没有运行代码,但我的猜测是代码编译后发出
cljs.user.x = 10;
在没有定义 cljs.user 的情况下。因此,当你尝试运行它时,它会尝试在 cljs.user 上设置 x,所以会失败。尝试首先创建 cljs.user,或者在编译时提供一个已存在的 :ns 选项。
cljs.user
x
:ns