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

欢迎!请参阅 关于 页面以了解该系统的一些更多信息。

0
文档

range 函数的文档确实说明了以下用法

(range 10 0 -1) -> (10, 9, 8, 7, 6, 5, 4, 3, 2, 1)

当前文档

返回一个从起始(包含)到结束(不包含),按步长生成的惰性序列,其中起始默认为0,步长默认为1,结束默认为无穷大。当步长等于0时,返回一个从起始点开始的无限序列。当起始等于结束时,返回空列表。

也可以选择向下而非向上步进,例如
从10反向计数 -1: (range 10 0 -1)。

建议

添加最后一句:"步长可以是负数。"

补丁: clj-704.patch

8 个答案

0

评论者:raek

当前文档实际上简要提到了 '步长' 参数

"(link: ...) 到结束(不包含),通过 步长,其中起始(link: ...)"

但由于这可能会被忽略,我认为在文档中增加说明也是好的。

我的建议

返回从起始(包含)到结束
(不包含),通过步长生成的惰性序列,其中起始默认为0,步长默认为1,结束
默认为无穷大。 步长可以是负数,以进行反向计数

0

评论者:pbalduino

对此有任何新闻吗?

我可以指派给自己吗?

0

评论人:jafingerhut

不,没有关于这个的任何消息。它是处于“开放”状态,这意味着目前还没有关于Clojure屏幕检查员或Rich Hickey是否对此类更改感兴趣的评价。《http://dev.clojure.org/display/community/JIRA workflow`_

话虽如此,但似乎创建补丁不需要太多时间。详细的说明在这里:《http://dev.clojure.org/display/community/Developing Patches`_

0

评论人:alexmiller

加油吧!

0

评论者:pbalduino

我无法重现这个问题:“当步长等于0时,返回从起始值开始的无穷序列。”

https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L2726-L2729

这是否正确?

0

评论人:jafingerhut

最后一次修改range是在CLJ-1018票上。请参阅那里附带的补丁,我认为这是在Clojure 1.5之后和Clojure 1.6之前的Clojure 1.6应用之后的一个。

或许这个改变并没有完成文档字符串中声明的工作。我还没有仔细查看。

0

评论人:jafingerhut

在Clojure 1.6中,修改文档字符串的最后两句话可能会更准确。range的当前文档字符串是

返回从起始(包含)到结束
(exclusive),通过步长,其中起始值默认为0,步长为1,结束值为
无穷大。当步长等于0时,返回从起始值开始的无穷序列。当起始值等于结束值时,返回空列表。
也许可以说

无穷大。当起始值等于结束值时,返回空列表。当步长

返回从起始(包含)到结束
(exclusive),通过步长,其中起始值默认为0,步长为1,结束值为
等于0并且起始值和结束值不同时,返回从起始值开始的无穷序列。

0
参考:《https://clojure.atlassian.net/browse/CLJ-704`_(由alexiport)
...