请分享您的看法,请在2024 Clojure状态调查中!

欢迎!请查看关于页面以了解更多关于此如何工作的信息。

0
文档

据我所知,无法使用def创建一个未绑定但具有:doc元数据的var(或在不绑定/更改绑定值的情况下更改现有var的:doc元数据)。

此更改明确了def的可能用途;即,如果您提供doc-string,则必须提供init

5 个回答

0

评论由:jcr发表

这个页面是“clojure def docstring”的第一个Google搜索结果之一。由于这只是微不足道的文档改进,可以将其合并到下一个版本中吗?

0
_评论由:bronsa_发表

请注意,您只需这样做 `(def ^{:doc "my-doc-here} var)`,但对于这种用途,最好使用`declare`。
0

评论由:jcr发表

Nicola,正确;严格来说,问题描述中“不可能使用def创建未绑定的具有:doc元数据的var”部分是不正确的,但这实际上不影响补丁本身提出的变化的正确性和实用性。仅为了澄清,这个:forms元数据实际上反映了{{def}}的实现方式(而当前的并没有)

[(def symbol) (def symbol doc-string? init)]

0

评论由:bronsa

当然!我没有质疑这个工单,只是让您知道您可以使用显式的元数据语法,以防您不知道(因为描述似乎暗示了这一点)

0
参考:https://clojure.atlassian.net/browse/CLJ-2159(由 alex+import 报告)
...