欢迎!有关如何使用此功能的一些更多信息,请参阅关于页面。
正如标题所暗示的,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