gpt4 book ai didi

recursion - 成员?在无限列表上运行

转载 作者:行者123 更新时间:2023-12-02 01:32:39 24 4
gpt4 key购买 nike

我实现了一个成员? clojure 中的函数如下:

(defn member? [item seq]
(cond (empty? seq) false
(= item (first seq)) true
:else (recur item (rest seq))))

不幸的是,这不适用于无限列表。有谁知道实现它的方法以便能够获得:

(member? 3 (range)) -> true

最佳答案

您的实现对于无限输入序列的行为是正确的。它不会终止,直到找到一个元素,因为 (empty? seq) 情况永远不会下降。

考虑在无限空间中搜索某物。什么时候是说它不存在的好时机?没有可靠的方法可以判断。限制您正在搜索的空间,例如。例如:

(member? 3 (take 10 (range)))

关于recursion - 成员?在无限列表上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33328561/

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