欢迎!请查看关于页面以获取更多关于如何使用本平台的信息。
讨论: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
评论由:alexmiller 发表
欢迎补丁(包括测试)。
评论由:ataggart 发表
为 take-until 和 drop-until 实现和测试,每个都提供一个补丁。
评论由:wagjo 发表
请将 :added 元数据更改为 "1.7"。
更新到:添加了 "1.7"
评论者:jbm
我想提出把 {{take-through}} 和 {{drop-through}} 作为备选名称。我认为 "through" 能更清晰地表达这些与 {{take-while}} 和 {{drop-while}} 的区别。
评论者: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中的“更新陈旧补丁”部分。
评论者:gshayban
最好也涵盖transducer的情况。
评论者:michaelblume
重新检查了补丁
已涵盖transducer情况 =)
我真的喜欢 take/drop-through
Michael,转换器中无需volatile或state状态,例如take-while。只需包含在'reduced to terminate'中即可。
a) 在take-until方面,你显然是对的。
b) 说真的,我不知道我以前的想法是如何实现的take-until,我要声称是缺少睡眠。
c) 我不清楚如何在不需要volatile的情况下使drop-until工作。
Ghadi和我讨论了这个问题,我们想不出download-until的任何用例。有吗?
这里是一个新的download-until补丁,包括生成测试。
开放性问题
download-until是一个好名字吗?我最担心的是,download-until听起来像是对download的轻微修改,但这个函数相对于download反转了谓词的意义。
Michael,虽然JIRA可以处理相同票证的多个相同附件,但对于想要确定哪个相同名称的附件是意图的的人来说会有些混乱。你可以删除或重命名你的同名附件之一吗?有关删除补丁的说明,请参阅本维基页面的“删除补丁”部分: http://dev.clojure.org/display/community/Developing Patches
补丁略有过期,所以我更新了它以应用于master分支,但它几乎相同。保留了归属。
标为预筛选。