Clojure 1.5.0 では、defrecord で定義された独自のレコード タイプにカスタムの pretty-printer を提供するにはどうすればよいでしょうか。
(defrecord MyRecord [a b])
(defmethod print-method MyRecord [x ^java.io.Writer writer]
(print-method (:a x) writer))
(defmethod print-dup MyRecord [x ^java.io.Writer writer]
(print-dup (:a x) writer))
(println (MyRecord. 'a 'b)) ;; a -- OK
(clojure.pprint/pprint (MyRecord. 'a 'b)) ;; {:a a, :b b} -- not OK, I want a
また、cutsom プリンターも使用したいと思いclojure.pprint/pprint
ます (今では、a
説明のためにレコードのフィールドにあるものをきれいに印刷する必要があります)。