Returns an object of the same type and value as obj, with
(apply f (meta obj) args) as its metadata.
;; continuing from the previous with-meta example
user=> (def wm (with-meta [1 2 3] {:my "meta"}))
#'user/wm
user=> wm
[1 2 3]
user=> (meta wm)
{:my "meta"}
user=> (def new-wm (vary-meta wm assoc :your "new meta"))
#'user/new-wm
user=> new-wm
[1 2 3]
user=> (meta new-wm)
{:my "meta", :your "new meta"}
(defn vary-meta
"Returns an object of the same type and value as obj, with
(apply f (meta obj) args) as its metadata."
{:added "1.0"}
[obj f & args]
(with-meta obj (apply f (meta obj) args)))
Comments top
No comments for vary-meta. Log in to add a comment.