Clojure - variar-meta

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}