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

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

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

0

评论者:gshayban

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

0

评论者:michaelblume

重新滚动补丁

0

评论者:michaelblume

已涵盖转换器的情况 =)

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

I spoke to Ghadi about this and we couldn't think of any use cases for drop-until. Are there any?

Here's a new take-until patch, including generative tests.

待解决问题

take-until 这个名字好吗?我最担心的是,take-until 让人听起来像是 take 的一点点修改,但实际上这个函数相对于 take 反转了谓词的意义。

0

评论者:jafingerhut

Michael,尽管 JIRA 可以处理相同名称的多个附件,但对于尝试确定哪些相同名称的附件是有意义的用户来说,可能会有些混乱。您能否删除或重命名其中一个具有相同名称的附件?删除补丁的说明请参阅本维基页面的 "Removing patches" 部分:[http://dev.clojure.org/display/community/Developing+Patches](http://dev.clojure.org/display/community/Developing Patches)

0

评论由:alexmiller 提出

由于补丁有些过时,所以我更新了以应用于主分支,但几乎相同。保留归属。

已标记为预审。

...