Retorna um objeto do mesmo tipo e valor do objeto original, mas com metadados combinados.
Sintaxe
A seguir está a sintaxe.
(vary-meta obj new-meta)
Parameters- 'obj' é o objeto que precisa ser verificado se algum metadado está associado a ele. 'new-meta' são os valores de metadados que precisam ser associados ao objeto.
Return Value - Retorna um objeto do mesmo tipo e valor do objeto original, mas com metadados combinados.
Exemplo
Um exemplo de como isso é usado é mostrado no programa a seguir.
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def my-map (with-meta [1 2 3] {:prop "values"}))
(println (meta my-map))
(def new-map (vary-meta my-map assoc :newprop "new values"))
(println (meta new-map)))
(Example)
Resultado
O programa acima produz a seguinte saída.
{:prop values}
{:prop values, :newprop new values}