テストしようとしている次のレコードタイプがあります。
(defrecord FirstOrderState [datum matrix]
State
;; implementation goes here ...
)
上記のタイプに基づいて分岐しようとしていますが、必要な結果が得られません
(def state (->FirstOrderState datum matrix))
(= (type state) composer.algorithm.markov.state.FirstOrderState)
=> false
ただし、のタイプを見ると、state
一致する必要があることが確認されます。
(type state)
=> composer.algorithm.markov.state.FirstOrderState
true
同様のチェックの結果が次のようになるため、これは機能するはずです。
(= (type []) clojure.lang.PersistentVector)
=> true
ここで私が見逃しているのは何ですか?以下のハックを使用すると解決策が得られますが、あまりエレガントではありません。
(= (str (type state)) (str composer.algorithm.markov.state.FirstOrderState))
=> true