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 的转置操作符的参数
  • 包含在转置操作符生成测试中的包含

21 个答案

0

评论由:alexmiller 发表

欢迎补丁(包括测试)。

0

评论由:ataggart 发表

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

0

评论由:wagjo 发表

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

0
by

评论由:ataggart 发表

更新到:添加了 "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内容中的几行。

关于更新补丁的建议,请参阅http://dev.clojure.org/display/community/Developing Patches中的“更新陈旧补丁”部分。

0
by

评论者:gshayban

最好也涵盖transducer的情况。

0
by

评论者:michaelblume

重新检查了补丁

0
by

评论者:michaelblume

已涵盖transducer情况 =)

0
by

评论者: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和我讨论了这个问题,我们想不出download-until的任何用例。有吗?

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

开放性问题

download-until是一个好名字吗?我最担心的是,download-until听起来像是对download的轻微修改,但这个函数相对于download反转了谓词的意义。

0

评论者:jafingerhut

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

0

评论由:alexmiller 发表

补丁略有过期,所以我更新了它以应用于master分支,但它几乎相同。保留了归属。

标为预筛选。

...