2
マルチメソッドとその実装を別々のファイルに定義しようとしています。異なる名前空間の別々のファイルにマルチメソッドを実装する
(ns thing.a.e
(:require thing.a.b :as test))
.
.
.
(test/foo "hello")
:私はこのような何かを定義する1
(ns thing.a.b)
(defn dispatch-fn [x] x)
(defmulti foo dispatch-fn)
私はメソッドを呼び出していたときに、ファイル2
(ns thing.a.b.c
(:require [thing.a.b :refer [foo]])
(defmethod foo "hello" [s] s)
(defmethod foo "goodbye" [s] "TATA")
では、メインファイル内のファイルでは :それはこのような何かを行きます
私はこれを行うと例外があると言うでしょう"No method in multimethod 'foo'for dispatch value: hello
私は間違って何をしていますか?あるいは、マルチメソッドの実装を別々のファイルで定義することはできませんか?