欢迎!有关如何使用本站的更多信息,请参阅 关于 页面。
在此评论中: http://dev.clojure.org/jira/browse/CLJ-1100?focusedCommentId=35510&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-35510 Rich 表示,不支持名称包含点的Vars,但当前实现允许它们的定义。这个补丁让 (def foo.bar) 抛出编译时异常
(def foo.bar)
评论者:alexmiller
我想知道这将是否破坏现有的野外观代码。
评论者:bronsa
鉴于当前的行为,我认为这是不大可能的
`user=> (def a.b 1)
`
user=> a.bCompilerException java.lang.ClassNotFoundException: a.b, compiling:(NO_SOURCE_PATH:0:0) `
人们需要费尽心机在所有地方引用Vars的命名空间才能使其工作
在与#clojure短暂的对话后,我更新了补丁,使其只有在非宏def上抛出,这样clojure.core/..和clojure.core.incubator/.?.这类宏就能正常工作。