请分享您的想法:2024 年 Clojure 状态调查!

欢迎!请参阅关于页面以获取更多关于此如何工作的信息。

+3
变换器

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

当本来会使用 (take-while pred coll) 但需要包括第一个对 (pred item) 为假的项时,会出现。

(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。我还没有检查它们是否易于更新,但猜测可能只需要更新几行差异上下文。

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

0

评论者:gshayban

最好也涵盖 transducer 的情况。

0

评论者:michaelblume

重新滚动补丁

0

评论者:michaelblume

涵盖了 transducer 的情况 =)

0

评论者:michaelblume

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

0

评论者:gshayban

Michael,转换器中不需要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,但几乎是一样的。保留归功于。

已标记为预筛选。

...