当两个多方法具有相同分发值时,如何进行解决方法的选择呢?
为了回答这个问题,我通过创建四个文件(core.cljs、a.clj、b.clj、interface.clj [`defmulti` 定义的地方])进行实验,在 a 和 b 命名空间中实现了具有相同分发值的方法。
最终在 `core` 命名空间中,我导入了 `a` 和 `b`,并观察到了通过导入命名空间顺序给出了解决方法。
然而,在大项目中,顺序没有影响:我正在重写库中的多方法,我怀疑解决方法是相对于类路径下的文件夹来确定的。
有人能确认或反驳我的假设吗?
最好的祝愿,
David