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

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

0
文档

range函数的文档确实指出了以下用法

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

当前文档

返回从起始值(包含)到结束值(排除)的懒加载数字序列,通过步长(如果未指定,则为1),其中起始值为默认的0,步长为默认的1,结束值为无限大。当步长等于0时,返回从起始值的无限序列。当起始值等于结束值时,返回空列表。

也可以向下而不是向上步进,例如计数
从10开始倒数-1:(range 10 0 -1)。

提议

添加最终句子:“步长可以是负数。”

补丁:clj-704.patch

8条答案

0

由raek发表的评论

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

"(link: ...)到结束(排除),“步长”(strong),“起始值”(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
by

评论由:alexmiller 提供

加油!

0
by

由pbalduino发表的评论

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

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

这是正确的吗?

0
by

评论由:jafingerhut 提供

range上次修改是在修改CLJ-1018票据后。参见那里附带的补丁,我认为这是Clojure 1.5之后、Clojure 1.6之前的补丁。

也许那个变化在文档字符串中不想所声称的那样。我还没有详细查看过。

0
by

评论由:jafingerhut 提供

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

返回从起始值(包含)到结束值
(exclusive), by step, where start defaults to 0, step to 1, and end to infinity. When step is equal to 0, returns an infinite sequence of start. When start is equal to end, returns empty list.
可能更准确的说法是:
infinity. When start is equal to end, returns empty list. When step is equal to 0 and start and end differ, returns an infinite sequence of start.

可能有具体条款。

返回从起始值(包含)到结束值
(exclusive), by step, where start defaults to 0, step to 1, and end to infinity. When step is equal to 0, returns an infinite sequence of start. When start is equal to end, returns empty list.
infinity. When start is equal to end, returns empty list. When step is equal to 0 and start and end differ, returns an infinite sequence of start.
可能有具体条款。
可能有具体条款。

0
by
参考: https://clojure.atlassian.net/browse/CLJ-704 (由 alex+import 报告)
...