Skip to main content
 首页 » 操作系统 » linux系统

Clojure 元数据

元数据:用来“描述数据的数据。

在Clojure中,元数据是与一个对象逻辑上的值产生正交的那些数据。

一个person的名和姓是普通的旧式数据(plain old data)。但一个person对象可以被序列化为XML这件事情,其实与person对象本身毫不相干,这就是元数据。同样,person对象当前正处于脏状态,需要被刷新到数据库中,这也是元数据。

变量str的元数据Clojure 元数据  第1张

通用元数据的键Clojure 元数据  第2张

一个变量的大部分元数据都是由Clojure编译器自动添加的。为了给一个变量添加自定义的元数据键/值对,可以使用元数据读取器宏。

Clojure 元数据  第3张

Clojure 元数据  第4张

Clojure 元数据  第5张

:file的值为NO_SOURCE_FILE,表示这些代码是在REPL中录入的。

因为元数据:tag实在是太常用了,也可以使用其简化形式^Classname,它会被展开为^{:tag Classname}。

Clojure 元数据  第6张

元数据会造成视觉混乱,也可以把它们放到最后。这得用到 defn 的一个变体,先是一或多个带括号的函数主体,随后紧接一个元数据映射表。

Clojure 元数据  第7张

评论列表暂无评论
发表评论
微信