gpt4 book ai didi

clojure - 满足条件时如何停止重复序列

转载 作者:行者123 更新时间:2023-12-04 05:13:45 26 4
gpt4 key购买 nike

除了loop .. recur外,最好使用哪种Clojure最佳构造,以便在遍历序列序列(sos)时,如果发现结果,则处理可以停止?

详细信息如下:

我有一个从clojure-csv返回的惰性序列。

在sos中的每个序列中的给定位置(索引)处都有一个值。

我一直在每个序列中查看该位置,直到找到该值或
sos的末期到了。

如果找到该值,我想停止处理sos。

我唯一能想到的就是使用for with when和in保留匹配,但是序列处理不会停止,也不会使用filter。

但是,我相信我可以使用更好的东西,但是我对那会是个棘手的问题。

谢谢。

最佳答案

这个怎么样?

(defn find-first [pred col]
(first (filter pred col)))

然后,您可以作为示例:
(find-first #(< % 5) coll)

您应该能够做出与一系列序列一起工作的谓词。
user=> (defn find-first [pred col]
(first (filter pred col)))
#'user/find-first
user=> (find-first #(> % 10) '(1 5 8 2 15 20 31 5 1))
15

关于clojure - 满足条件时如何停止重复序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11866446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com