请在 2024 年 Clojure 状况调查 中分享您的看法!

欢迎!请访问 关于 页面以了解更多关于如何使用本站的信息。

0
Docs

据我所知,无法使用 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

Nicola,对的;严格来说,问题描述中“无法使用 def 创建一个未绑定但有 :doc 元数据的 var”的部分是不正确的,但这实际上不影响补丁中提出的更改的正确性和实用性。仅就澄清而言,这个:表单元实际上反映了{{def}}的实现方式(而当前的实现方式却没有)

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

0

评论由: bronsa

当然可以!我并没有对这个工单提出异议,只是想告诉你你可以使用显式的元数据语法(以防你还没有注意到,因为描述似乎暗示了这一点)

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