2024Clojure现状调查 中分享你的想法!

欢迎!请参阅关于页面以了解此平台的更多详情。

+2
文档
已关闭

以下是 Clojure 1.8.0 的输出

`

user=> (doc if)

if
(if test then else?)
特殊形式
评估 test。如果不是单一的 nil 或 false 值,
评估并产生 then,否则评估并产生 else。如果
else 未提供,其默认为 nil。

请参阅https://clojure.org/special_forms#if
nil
`

以下是 Clojure 1.9.0 的相应输出

`

user=> (doc if)

if
(if test then else?)
特殊形式
评估 test。如果不是单一的 nil 或 false 值,
评估并产生 then,否则评估并产生 else。如果
else 未提供,其默认为 nil。

请参阅https://clojure.org/special_forms#if
评估 test。如果不是单一的 nil 或 false 值,
评估并产生 then,否则评估并产生 else。如果
else 未提供,其默认为 nil。
nil
`

此重复只在调用 clojure.repl/doc 或 clojure.repl/print-doc 特殊形式符号时发生,而不是其他符号,如宏和函数。这是在修改 clojure.repl/print-doc 以添加输出规格功能时引入的,修复很简单。

审核人员: Alex Miller

已关闭,并注明:已修复

3 个回答

0
 
最佳回答

在 1.10.2-alpha2 中修复。

0

评论由:jafingerhut

补丁 CLJ-2295-v1.patch(日期为2017年12月15日)是解决这个问题的一种可能方式。确认在这些更改下,其他情况(例如宏)的输出与Clojure 1.8.0一致,除了新的Spec输出,应该保留。

0
参考:https://clojure.atlassian.net/browse/CLJ-2295(由jafingerhut报告)
...