1

ドキュメントではそれは言う

上記のすべての例では、マルチメソッドシステムで使用されるグローバル階層を使用しています

グローバル階層とは何ですか?

4

1 に答える 1

1

core.cljをチェックして、を探します(def ^{:private true} global-hierarchy (make-hierarchy))。のドキュメント文字make-hierarchy

「derive、isa?などで使用する階層オブジェクトを作成します。」

これとマルチメソッドシステムとの関係は、メソッド名を文字列として、また変数としてコンストラクターを呼び出す結果となるmacroexpandonを実行することで確認できます。必要に応じてソースを調べることができますが、それはマルチメソッドの「内部」です。defmulticlojure.lang.MultiFn#'clojure.core/global-hierarchyclojure.lang.MultiFn

于 2012-06-08T06:14:44.557 に答える