欢迎!请查看关于 页面了解更多关于此功能的信息。
你好,根据 2016 的 spec,fdef 不支持多方法。这已正式更改了吗?
fdef
尽管最初似乎可以工作——我使用fdef成功地监控并测试了一个多方法——但我后来在使用我监控后的多方法的 get-method 时遇到了问题。
get-method
我可以为此 get-method 监控问题创建一个测试用例,但我首先想确定这个多方法使用 fdef 是否应该可以有效工作。
据我所知,fdef似乎与多态方法兼容得很好,但如果你要在经过instrument包装的多态方法上使用get-method,你需要保留对原始多态方法的引用/绑定,并在原始方法上调用get-method。(这也许是按设计/文档完成的,因为仪器明确替换了原始fn。如果仪器可以将每个多态方法包装到多态内部的每个方法中,而不是像现在这样(看起来)位于分发之上,那就更好了,但制作仪器的那些人可能比我考虑得多。)
instrument