我有一张包含:name
的记录。有没有办法告诉clojure.core/name
如何从我的记录中提取:name
?
答案 0 :(得分:8)
如果您能够更改defrecord
声明,只需在那里实施clojure.lang.Named
界面。
(defrecord MyRecord [name]
clojure.lang.Named
(getName [this]
(:name this)))
(name (MyRecord. "Dan"))
;;=> "Dan""