我正在寻找向 clojure map 添加类型的最简单方法
我知道我可以使用记录来做到这一点,但我想知道我是否可以使用常规 map 来做到这一点
我有一个函数来创建代表一个人的 map :
(defn person [first-name last-name] {:first-name first-name :last-name last-name})
我希望能够做这样的事情:
(def wayne (person "Wayne" "Shorter"))
....
(type wayne)
=> person
最佳答案
你可以附上一些 metadata :
(defn person [first-name last-name]
(with-meta {:first-name first-name :last-name last-name}
{:type 'Person}))
(def wayne (person "Wayne" "Shorter"))
(type wayne) ;; Person
关于clojure - 在clojure中向 map 添加类型的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20614905/