Clojure多方法全局层次结构

时间:2012-06-08 05:56:06

标签: clojure

在文档中说

  

上述所有示例都使用多方法系统

使用的全局层次结构

什么是全局层次结构?

1 个答案:

答案 0 :(得分:1)

结帐core.clj并查找(def ^{:private true} global-hierarchy (make-hierarchy))make-hierarchy的文档字符串表示

  

“创建一个层次结构对象,以便与derive,isa等一起使用”

可以通过在macroexpand上执行defmulti来找出这与多方法系统的关系,这会导致调用clojure.lang.MultiFn构造函数,方法名称为字符串,也可以调用var #'clojure.core/global-hierarchy。您可以根据需要查看clojure.lang.MultiFn来源,但这是多方法的“幕后”。