请在 2024 Clojure 状态调查! 中分享您的看法。

欢迎!请参阅 关于 页面,了解更多有关它是如何工作的信息。

0
Clojure

它应该会关于使用完全限定名作为参数而抱怨

(defmacro lookup (link: ))
`(reify clojure.lang.ILookup

      (valAt (link: _ key))))

相反,它只是简单地忽略了该参数,在方法体中改用 clojure.core/key。

5 个答案

0

评论由:importer 作出

richhickey 说:我不太确定您说的是什么bug,或者您建议的解决方案应该是什么。真正的问题是关键字的限定解析。另一个可能的选择是忽略那里的限定符。

0

评论由:importer 作出

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

0

评论由:importer 作出

technomancy 说:(link: [file:d2xUJIxTyr36fseJe5cbLA)]: 暴露不可取行为的测试

0
by

评论由:importer 作出

technomancy说道:很有趣。那么在这里不需要自动生成符号是否恰当?为什么与代理方法相比,reify方法的规则不同呢?

(defmacro lookup (link: ))
`(proxy (link: clojure.lang.ILookup) (link: )

      (valAt (link: key) key)))

(lookup)

无法将限定名称用作参数:clojure.core/key
(link: 抛出类 java.lang.Exception)

0
by
参考: https://clojure.atlassian.net/browse/CLJ-348 (由alex+import报告)
...