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发布

更新为:added "1.7"。

0
by

评论者:jbm

我想提议使用“{{take-through}}”和“{{drop-through}}”作为备选名称。我认为“through”可以更清晰地表达它们与“{{take-while}}”和“{{drop-while}}”的不同。

0
by

评论者:jafingerhut

日期为2014年6月20日的两个补丁CLJ-1451-drop-until.patch和CLJ-1451-take-until.patch由于今天早些时候提交的一些更改,现在无法干净地应用于最新的Clojure master。我没有检查它们是否容易更新,但猜测可能只需更新diff上下文的几行。

有关更新补丁的建议,请参阅《更新陈旧补丁》部分。

0
by

评论者:gshayban

最好也涵盖了transducer的情况。

0
by

评论者:michaelblume

重新滚动补丁

0
by

评论者:michaelblume

涵盖了transducer的情况 =)

0
by

评论者:michaelblume

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

0
by

评论者:gshayban

Michael,和take-while一样,在transducer中不需要volatile或state。只需包装在'reduced以终止即可。

0

评论者:michaelblume

a) 在 take-until 方面,你明显是正确的

b) 对于我的 take-until 实现方式,我真的不知道当时该怎么想的,我要声明是睡眠不足

c) 我不明白如何在没有易失性变量的情况下使 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 上,但它几乎是一样的。归功保留。

标记为预筛选。

...