当两个多方法拥有相同的分派值时,解析方法是什么?
为了回答这个问题,我通过创建四个文件(core.cljs,a.clj,b.clj,interface.clj [定义 defmulti 的地方])进行实验,在 a 和 b 命名空间中实现了具有相同分派值的一些方法。
最后在 core 命名空间中,我要求使用 a 和 b,并观察到解析是根据导入命名空间的顺序来执行的。
然而,在一个更大的项目中,顺序没有产生影响:我在一个库中覆盖了多方法,我怀疑解析是根据类路径中的文件夹进行的。
有人能证实或否定我的假设吗?
最美好的祝愿,
David