我正在研究codox。我知道docstrings被解析和显示,但是我可以启用^{:doc "Description"}
来解析吗?例如,这可行
(defn get-foo "Get the Foo" [] @foo)
但不是这个
(defn get-foo ^{:doc "Get the Foo"} [] @foo)
答案 0 :(得分:7)
如记录here所述,defn将接受" attr"可以通过:doc
关键字包含文档的地图。所以这会奏效。
user> (defn get-foo {:doc "Get the foo"} [foo] @foo)
#'user/get-foo
user> (meta get-foo)
{:doc "Get the foo"}
但是,您已使用^
阅读器宏将第一个以下表单(地图)作为元数据添加到符号get-foo
,而不是第二个表单,即参数向量。 defn和def宏不检查元数据的参数向量,因此忽略了明显的文档字符串。
user> ^{:doc "foo"} []
[]
user> (meta ^{:doc "foo"} [])
{:doc "foo"}
答案 1 :(得分:0)
那不是^:doc注释的去处。它位于函数名称之前,因为您尝试将元数据附加到作为函数名称的符号。这与codox无关,但是关于clojure元数据和文档是一般性的。
答案 2 :(得分:0)
取下插入符号。你想要的是在那个地方传递属性地图,而不是元数据。这应该有效:
(defn get-foo {:doc "Get the foo"} [foo] @foo)