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

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

0票数
Clojure

Rich在今天IRC中提到,他希望能有一个clojure.core/range的reducer实现。既然我已经弄懂了如何进行迭代,我想在晚上结束前一并解决range问题。现在提前提出这个issue,以通知其他对做此事感兴趣的人。

24个回答

0票数

由:jasonjckn发表的评论

是否应该让r/range返回可序列化和计数的东西?

如果是这样,我将为r/repeat做同样的事情。

0票数

由:amalloy发表的评论

我概述了问题和选项。我不太熟悉开发wiki,找不到正确的位置放置这个。'release.next'似乎还是关于1.4的问题,不知道是否“适当”为此创建一个新的类别。在找到一个更好的家园之前,它可以在(链接:https://gist.github.com/1586b2460329dde1c374 文本:作为一个gist)使用。

0票数

由:amalloy发表的评论

这是一个包含Rich建议“回滚”状态的单一补丁:分别r/range和r/iterate函数。自从完成Rich要求的编写后,我没有听到任何反馈,所以目前没有进一步进展;如果需要除了这个补丁之外的东西,请告诉我。

0票数

评论者:richhickey

我更喜欢不将这种方法应用于新类型。也许这段代码太DRY(Don't Repeat Yourself)了?它在一个补丁中做了很多,这使得解析和接受变得困难。这增加了范围,切换了向量折叠的实现等。它能否拆分成单独的票据,每个票据都基于上一个构建,例如,一个票据可以是:捕获用于类似事物的向量折叠实现以供重用。

0票数

由:amalloy发表的评论

没问题,我应该在周末将其拆分开。我还会看看是否将按半折叠转变成一个由Range/Vector使用的函数,而不是扩展到它们上的函数。

0票数

由:amalloy发表的评论

按照要求,我已经将这个问题的较大补丁拆分成四个较小的票据。其他三个是:CLJ-1045、CLJ-1046和CLJ-992。

CLJ-1045 包含按半折叠的实现,因此此补丁必须在 CLJ-1045 被接受后才可应用。本票不依赖于其他两个,但如果在它们之前合并,则会出现轻微的合并冲突。

0票数

评论者:gshayban

范围现在可减少了。

0票数

评论者:gshayban

我们应关闭此项。1.7中没有涵盖的东西是可折叠方面。

0票数
参考:[https://clojure.atlassian.net/browse/CLJ-993](https://clojure.atlassian.net/browse/CLJ-993)(由amalloy报告)
欢迎使用Clojure问答社区,您可以在此提问并获得Clojure社区成员的解答。
...