欢迎!请查阅 关于页面以获取更多有关如何使用本站的详细信息。
你好,截至 2016 年的 spec fdef 不支持多方法。这已经正式改变了吗?
fdef
尽管最初似乎可以工作 -- 我用 fdef 成功地对多方法进行了工具化和测试 -- 但我在对其进行了工具化后遇到了在多方法上使用 get-method 时的问题。
get-method
我可以为 get-method 工具化问题制作一个测试用例,但我首先想澄清一下这样的多方法使用 fdef 是否真的应该工作 :-)
据我所知,fdef似乎和多态方法配合良好,但如果你要在被instrument包装的多态方法上使用get-method,你需要保留对原始多态方法的引用/绑定,并在原始方法上调用get-method。(这可以说是设计/文件化的,因为在仪器化明确替换原始函数。如果仪器化能够将多态中的每个方法都包装起来,而不是(看起来)处于调度之上,那将会很酷。但构建仪器的那些人可能比我更考虑到这一点……)
instrument