gpt4 book ai didi

clojure - 在 Clojure 中附加元数据

转载 作者:行者123 更新时间:2023-12-02 17:41:14 26 4
gpt4 key购买 nike

我了解如何附加元数据,例如:

(def x ^{:foo true} [1 2])

但是 Youtube 上的 Clojure 视频使用了以下示例:

(def ^{:foo true} x [1 2])

(meta) 不会返回 Youtube 示例中的元数据。

元数据附加到什么地方,为什么要这样做以及如何返回元数据?谢谢。

最佳答案

^reader macro “首先读取元数据并将其附加到下一个表单”

将元数据附加到向量[1 2]

(def x ^{:foo true} [1 2])
(meta x) ;; x resolves to the vector, `meta` retrieves the metadata attached to it

将元数据附加到 var x

(def ^{:foo true} x [1 2])
(meta #'x) ;; retrieve the metadata from the var `x`

考虑这个 repl session ,我们将元数据附加到 var 和值:

user=> (def ^{:var-foo true} x ^{:val-foo true} [1 2])
#'user/x
user=> (meta x)
{:val-foo true}
user=> (meta #'x)
{:ns #<Namespace user>, :name x, :file "NO_SOURCE_PATH", :var-foo true, :column 1, :line 1}

关于clojure - 在 Clojure 中附加元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com