2024年Clojure调查与分析中分享您的想法!

欢迎!有关如何使用本站的信息,请参阅关于页面。

+3
Transducers

讨论: https://groups.google.com/d/topic/clojure-dev/NaAuBz6SpkY/discussion

当需要使用(take-while pred coll),但需要包含第一个满足(pred item)为false的元素时,会用到它。

(take-while pos? [1 2 0 3]) => (1 2) (take-until zero? [1 2 0 3]) => (1 2 0)

补丁: clj-1451.patch

  • 包括 take-until 的 transducer 元素数量
  • 包括在 transducer 生成性测试中的包含

21 答案

0

评论由:alexmiller发布

欢迎(带测试)补丁。

0

评论由:ataggart发布

Impl 和 tests for take-until 和 drop-until,每个补丁一个。

0

评论由:wagjo发布

请将:added 元数据更改为 "1.7"。

0

评论由:ataggart发布

更新为:added "1.7"

0

由 jbm 发表的评论:

我希望提议将 {{take-through}} 和 {{drop-through}} 作为备选名称。我认为“through”更清楚地表达了它们与 {{take-while}} 和 {{drop-while}} 的区别。

0

由 jafingerhut 发表的评论:

由于今天早些时候的一些更改,2014 年 6 月 20 日的补丁 CLJ-1451-drop-until.patch 和 CLJ-1451-take-until.patch 已无法干净地对最新的 Clojure master 应用。我没有检查它们是否简单更新,但猜测它们只需要更新几行 diff 上下文。

有关如何更新补丁的建议,请参阅 "http://dev.clojure.org/display/community/Developing Patches" 章节中的“更新过时的补丁”部分。

0

由 gshayban 发表的评论:

也希望包含 transducer 的情况。

0

由 michaelblume 发表的评论:

重roles patches

0

由 michaelblume 发表的评论:

覆盖 transducer 情况 =)

0

由 michaelblume 发表的评论:

实际上我也喜欢 take/drop-through

0

由 gshayban 发表的评论:

Michael,在 transducer 中,不需要 volatile/state,就像 take-while 一样。只需包裹在'reduced to terminate'中即可终止

0

由 michaelblume 发表的评论:

a) 你对 take-until 的理解显然是正确的

b) 严肃地说,我不记得为什么我在 take-until 的实现中这样思考,我要声称是因为睡眠不足。

c) 我对如何在没有 volatile 的情况下使 drop-until 有效地工作感到困惑

0

由 michaelblume 发表的评论:

Ghadi 和我讨论了这个问题,想不出 drop-until 的用例。有吗?

这是一个新的 take-until 补丁,包括生成测试。

开放性问题

take-until 这个名称好吗?我最担心的是,take-until 这个名称听起来像是 take 的小修改,但这个函数相对于 take 来说反转了谓词的意义。

0

由 jafingerhut 发表的评论:

Michael,虽然 JIRA 可以处理同名附件,但对于试图确定哪个同名附件是意图的的人来说可能会很混乱。你能否删除或重命名其中一个相同名称的附件?有关删除补丁的说明,请参阅本维基百科页面上的“删除补丁”部分: http://dev.clojure.org/display/community/Developing Patches

0

评论由:alexmiller发布

因为这个补丁有点过时,所以我更新了为了应用到 master,但它几乎是相同的。保留归功。

已被标记为预审。

...