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

欢迎!请参阅 关于 页面以了解关于这个网站的一些更多信息。

+3
转换器

讨论: 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 的转换器参数
  • 包括在转换器生成测试中的包含

21 回答

0

由 alexmiller 发表的评论

补丁欢迎(带测试)。

0

由 ataggart 发表的评论

为 take-until 和 drop-until 实现和测试,每个都有一个补丁。

0

由 wagjo 发表的评论

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

0

由 ataggart 发表的评论

更新至:添加了"1.7"

0

评论者:jbm

我想提议将 {{take-through}} 和 {{drop-through}} 作为备选名称。我认为“through”这个词可以更清晰地表达这些与 {{take-while}} 和 {{drop-while}} 的不同之处。

0

评论者:jafingerhut

由于今日提交的一些更改,两个补丁 CLJ-1451-drop-until.patch 和 CLJ-1451-take-until.patch (均为 2014 年 6 月 20 日的)不再干净地应用于最新的 Clojure master。我还未检查它们是否易于更新,但猜测只需更新 diff 上下文中的一些行。

有关如何更新补丁的建议,请参阅http://dev.clojure.org/display/community/Developing Patches部分。

0

评论者:gshayban

最好也涵盖转置器的情况。

0

评论者:michaelblume

重新滚了的补丁

0

评论者:michaelblume

已经涵盖了转置器的情况 =)

0

评论者:michaelblume

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

0

评论者:gshayban

Michael,转换器中不需要volatile方面的状态,比如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的版本,但它几乎相同。保留归属权。

已标记为预筛。

...