在文档中它说
上面的所有示例都使用了多方法系统使用的全局层次结构
什么是全局层次结构?
查看core.clj并查找(def ^{:private true} global-hierarchy (make-hierarchy))
. 文档字符串make-hierarchy
说
“创建一个层次结构对象,用于派生、isa?等。”
this 与多方法系统的关系可以通过执行 a macroexpand
on defmulti
which 导致对clojure.lang.MultiFn
构造函数的调用来找出方法名称为字符串和 var #'clojure.core/global-hierarchy
。如果需要,您可以查看clojure.lang.MultiFn
源代码,但这是多方法的“幕后”。