3
我有一个记录Clojure中在Clojure中,如何获得只有记录实例的记录基础?
(defrecord Animal [name age])
,我可以很容易地创建记录的一个实例
(def my-cat (Animal. "spot" 2))
我还可以创建一个MAP-实例>动物功能
(def my-dog (map->Animal {:name "snowy" :age 6 :legs 3}))
其中创建
#user.Animal{:name "snowy", :age 6, :legs 3}
只给出Animal
的实例,例如my-dog
,我该如何获得基础?
我知道,我可以对Animal
一个静态调用得到它,就像这样:
(Animal/getBasis)
这给[name age]
,但我如何得到这个从my-dog
?
一个较长的讨论,谢谢。这非常有帮助。我认为最后一行比'(..(类型my-dog)(getMethod“getBasis”nil)(调用nil nil))'更漂亮一些,但是它的意义是相同的。 – Andrew 2013-02-27 22:43:50