2024 Clojure调查问卷中分享您的想法!

欢迎!请阅读关于页面以了解更多关于其工作方式的信息。

0 投票
文档
{{defn}}的文档说明是

bq. 等同于(def name (fn [params* ] exprs*))或(def name (fn ([params* ] exprs*)+))加上可以添加到变量元数据的任何文档说明或属性。prepost-map定义了一个带有可选键:pre和:post的映射,其中包含预或后条件的集合。

参数列表是

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

有两个问题让这个文档说明对我来说很难理解

1. 文档说明没有提到{{attr-map?}} -  我不得不在文档中跳跃一段时间,才从{{attr-map?}}跳跃到"添加到变量元数据中的任何 [...] 属性"。
2. 文档说明引用了{{exprs*}},但参数列表引用了{{body}}。

5 个回答

0 投票

评论者:alexmiller

接受补丁,欢迎最小更改。

0 投票

评论者:marc

我附加了一个补丁以解决两个问题

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

我没有解决"任何属性"引用attr-map的问题,我不确定如何以最“Clojure”的方式来表述。

0 投票
by

评论者:alexmiller

看起来主体变更缺少一个结尾的右括号?

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

0 投票
by

评论者:alex+import

嗨 @marc,有什么更新吗?非常希望得到这个更新!谢谢!

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