Clojure,Codox:如何使用:doc元数据而不是docstring?

Dav*_*ams 1 clojure

我正在考虑正统.我知道docstrings被解析和显示,但是我可以启用^{:doc "Description"}解析吗?例如,这是有效的

(defn get-foo "Get the Foo" [] @foo) 
Run Code Online (Sandbox Code Playgroud)

但不是这个

(defn get-foo ^{:doc "Get the Foo"} [] @foo) 
Run Code Online (Sandbox Code Playgroud)

arr*_*dem 7

如此处所述,defn将接受"attr"映射,该映射可以包含通过:doc关键字的文档.所以这会奏效.

user> (defn get-foo {:doc "Get the foo"} [foo] @foo)
#'user/get-foo
user> (meta get-foo)
{:doc "Get the foo"}
Run Code Online (Sandbox Code Playgroud)

但是,您已使用^reader宏将第一个以下表单(地图)作为元数据添加到符号中get-foo,而不是添加到第二个表单,即参数向量.defn和def宏不检查元数据的参数向量,因此忽略了明显的docstring.

user> ^{:doc "foo"} []
[]
user> (meta ^{:doc "foo"} [])
{:doc "foo"}
Run Code Online (Sandbox Code Playgroud)