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

欢迎!请在 关于 页面了解有关此信息。

0
文档
{{defn}} 的文档字符串如下:

bq. 与 (def name (fn [params* ] exprs*)) 或 (def name (fn ([params* ] exprs*)+)) 相同,可以将任意文档字符串或属性添加到 var 元数据中。prepost-map 定义了一个包含可选密钥 :pre 和 :post 的映射,这些密钥包含预或后条件集合。

参数列表为:

bq. (defn name doc-string? attr-map? [params*] prepost-map? body)

有两个问题使这个文档字符串对我来说难于理解:

1. 文档字符串没有提到 {{attr-map?}} - 我需要花费一些时间在文档中跳跃才能从 {{attr-map?}} 跳跃到 "with any [...] attrs added to the var metadata"。
2. 文档字符串参考了 {{exprs*}},但参数列表引用了 {{body}}。

5 答案

0

由 alexmiller 发布的评论

欢迎补丁,希望尽可能进行最小的更改。

0

由 marc 发布的评论

我附带了补丁以解决两个问题。

  • 将 'exprs**' 更改为 'body' 以匹配参数列表。
  • 将多参数形式中的 'body+)' 更改为 'body)+'。

我没有解决 "any attrs" 指的是 attr-map 的问题,我不确定如何以最 "Clojure" 的方式来表达。

0
by

由 alexmiller 发布的评论

看起来主体的更改遗漏了一个尾部右括号?

你有: (def name (fn ((link: params ) body)+)
应该是:(def name (fn ((link: params
) body)+))

0
by

评论者:alex+import

Hi @marc,有更新吗?希望能得到这个更新 :) 谢谢!

0
by
参考:https://clojure.atlassian.net/browse/CLJ-2211(由 marc 报告)
...