2024 Clojure状态调查中分享您的想法!

欢迎!请参阅关于页面以了解更多有关此工作的信息。

0
文档

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

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

5 答案

0

评论者:jcr

此页面是谷歌搜索“clojure def docstring”的第一个结果之一。鉴于这是一个微不足道的文档改进,能否将其合并到下一个版本中?

0
评论者:bronsa_

顺便提一下,您可以这样做`(def ^{:doc "my-doc-here} var)`,尽管在这种情况下`declare`应该是首选。
0

评论者:jcr

尼古拉,正确;严格来说,问题描述中的“无法使用def创建未绑定但有:doc元数据的变量”部分是不正确的,但实际上这并不会影响补丁本身所提出更改的正确性和实用性。只是为了澄清,这个:forms元数据实际上反映了{{def}}的实现方式(而当前的实现方式并不如此)

[(def 符号) (def 符号 doc-string? 初始化)]

0

评论者:bronsa

当然!我并没有对此工单提出异议,只是想让你知道你可以使用显式的元数据语法,以防你不知道(因为描述看起来好像暗示了这一点)

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