如何从ClojureScript对象中解包元数据?

时间:2014-04-17 23:02:38

标签: metadata clojurescript

将元数据添加到对象会返回一个附加了元数据的新对象:

(def plain-data [1 2 3])
(def decorated-data (with-meta plain-data {:url "http://stackoverflow.com"}))

;; returns false
(identical? plain-data decorated-data)

如何从plain-data恢复原始decorated-data

我想做点什么,

(def undecorated-data (with-meta decorated-data nil))

;; how can I make this return true?
(identical? plain-data undecorated-data)

1 个答案:

答案 0 :(得分:1)

添加元数据不包装值,它返回附加了元数据的值的克隆 - 没有办法恢复原始的东西。但是,不清楚为什么你需要这样做,如果你需要检查是否相等,请使用=