欢迎!请参阅关于页面以了解关于如何使用此网站的更多信息。
正如标题所暗示的,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