欢迎!请参阅 关于 页面,了解更多有关它是如何工作的信息。
它应该会关于使用完全限定名作为参数而抱怨
(defmacro lookup (link: ))`(reify clojure.lang.ILookup
(valAt (link: _ key))))
相反,它只是简单地忽略了该参数,在方法体中改用 clojure.core/key。
评论由:importer 作出
richhickey 说:我不太确定您说的是什么bug,或者您建议的解决方案应该是什么。真正的问题是关键字的限定解析。另一个可能的选择是忽略那里的限定符。
从 http://www.assembla.com/spaces/clojure/tickets/348 转换而来附件0001-Add-a-test-for-348-reify-shouldn-t-accept-qualified-.patch - https://www.assembla.com/spaces/clojure/documents/d2xUJIxTyr36fseJe5cbLA/download/d2xUJIxTyr36fseJe5cbLA
technomancy 说:(link: [file:d2xUJIxTyr36fseJe5cbLA)]: 暴露不可取行为的测试
technomancy说道:很有趣。那么在这里不需要自动生成符号是否恰当?为什么与代理方法相比,reify方法的规则不同呢?
(defmacro lookup (link: ))`(proxy (link: clojure.lang.ILookup) (link: ) (valAt (link: key) key))) (lookup)
(defmacro lookup (link: ))`(proxy (link: clojure.lang.ILookup) (link: )
(valAt (link: key) key)))
(lookup)
无法将限定名称用作参数:clojure.core/key(link: 抛出类 java.lang.Exception)