2
我用defmulti聲明瞭一個multmethod,但是後來我在我的代碼庫中散佈了defmethods,它似乎「只是工作」而不必在multimethod聲明前聲明任何顯式名稱空間!這是因爲所有的multimethods使用某種形式的全局命名空間?clojure multimethods如何使用名稱空間?
我用defmulti聲明瞭一個multmethod,但是後來我在我的代碼庫中散佈了defmethods,它似乎「只是工作」而不必在multimethod聲明前聲明任何顯式名稱空間!這是因爲所有的multimethods使用某種形式的全局命名空間?clojure multimethods如何使用名稱空間?
您不需要在multimethod的名稱前面重複多方法的名稱空間,因爲您已經在名稱空間中引用了multimethod的名稱,可能是通過在名稱空間decl中使用:use。
有道理。謝謝 – Zubair 2011-04-20 15:14:24