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

欢迎!有关本站工作方式的更多信息,请参阅关于页面。

+2
Clojure

使map-indexed的外部接口与map对齐。map-indexed的实现和接口中现有用法保持不变。

(map vector (range 10 20) (range 30 35)) ;=> ([10 30] [11 31] [12 32] [13 33] [14 34]) (map-indexed vector (range 10 20) (range 30 35)) ;=> ([0 10 30] [1 11 31] [2 12 32] [3 13 33] [4 14 34])

补丁: CLJ-1601 map-indexed和测试8-5-2017.patch - 另外还为map-indexed添加了测试

预审: Alex Miller

13 个答案

0

评论者:aaron

您能添加一个测试来验证改进的功能吗?

0

评论者:bjeanes

当然可以。我在提交此内容之前试图添加一个测试,但未能找到可以扩充的现有map-indexed测试。鉴于这种情况,我决定先开始这次对话。如果您认为这是一项很好的补充,我将找到一个放置测试的地方并添加一个新的补丁文件。

0

评论者:bjeanes

为 {{map-indexed}} 添加了两个单元测试。一个测试旧的行为(单个集合),另一个测试跨3个集合的映射。

据我所见,没有现有的 {{map-indexed}} 测试可以在此进行扩展(使用 {{git grep map-indexed src/clojure}})

0

评论者:justinspedding

这个特性非常有用。为什么几乎5年来没有人继续工作在这个项目上呢?

0

评论者:alexmiller

由于我以前没有参与 Clojure,所以不清楚,但看不出有任何理由不这样做。

0

评论者:jafingerhut

如果一个问题没有由 Rich Hickey 移至“审核”状态,则无法确定它是否值得添加到 Clojure。在没有充分理由反对之前,对 Clojure 的任何更改的默认回答都是“否”。但即便如此,如果没有任何令人信服的理由拒绝,JIRA 问题往往会被保留开放,而不是拒绝。

有关更多背景信息,请参见此处,特别是从那里链接的“Clojure 治理和它是如何变成这样的”文章:https://dev.clojure.org/display/community/Contributing FAQ

有关“审核”及其他 Clojure 核心团队使用的 JIRA 状态的详细信息,请参见此处:https://dev.clojure.org/display/community/JIRA workflow

在一些情况下,对票证的投票(如果先登录到您的 JIRA 账户,则页面上顶部右侧附近有一个“投票”链接)可以将注意力更早地集中到它们上,但无法保证时间表。

0

评论者:alexmiller

我没有尝试,但我肯定这个补丁已经不再适用。有一个可以应用的单一合并补丁将是第一步的有用之处。

0

评论者:justinspedding

我刚刚上传了一个新的补丁,允许map-indexed接受多个集合。我采取了与map完全相同的方法,但增加了索引。它的性能比2012年的旧补丁要好。我还加入了一些更多测试。函数update和新的测试都包含在"CLJ-1601 map-indexed and tests 8-5-2017.patch"中。

在我编写补丁之前,map-indexed没有测试。对于核心中的函数未经测试似乎有点危险。

0

评论者:justinspedding

自从我上传补丁以来已经有一段时间了,并且它已经过预筛。这个工单和另外两个我创建的工单都在等待审核,FAQ中提到我应该关注我的工单。我还需要做些什么来处理它并推进它吗?

0

评论者:alexmiller

我认为我们不会在1.9的时间框架内考虑任何更多的增强功能。

0

评论者:justinspedding

我想到,`keep` 和 `keep-indexed` 也不接受多个集合。也许我应该为这些更新创建一个类似的工单。

0
评论由:alexmiller_add

是的,为这些创建一个单独的工单会很好。我不知道是否存在此类工单。
0
...