Clojure - 元数据合并 (vary-meta)



返回一个与原始对象类型和值相同,但具有合并元数据的对象。

语法

以下是语法。

(vary-meta obj new-meta)

参数 − ‘obj’ 是需要检查是否关联任何元数据的对象。‘new-meta’ 是需要与对象关联的元数据值。

返回值 − 返回一个与原始对象类型和值相同,但具有合并元数据的对象。

示例

以下程序展示了如何使用它。

(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)

输出

以上程序产生以下输出。

{:prop values}
{:prop values, :newprop new values}
clojure_metadata.htm
广告