请在 2024 Clojure 状态调查! 分享您的想法。

欢迎!请查看 关于页面 了解该功能的一些更多信息。

0
序列

这个版本的 some 如何?

 (defn some [pred coll]
  (loop [s (seq coll)]
    (when s
      (or (pred (first s)) (recur (next s))))))

1 答案

+1

选择
我没有意识到这一点 :-)

我也做了一些性能测试,但是我觉得有些棘手,因为在从 clojure(script) 到裸金属的过程中需要考虑许多因素。

我想我的主要观点是,无论性能如何,对我来说,某些版本现行版本的“逻辑”其实并不对劲 :-):. 从逻辑角度看,可以使用rest而不是next..但是,在新版的Clojure中,由于某些原因,其性能远未达到我的期望(至少在我的基准测试中是这样,所以这也未必意味着很多..:-)

无论如何,我认为这个版本解决了某些“逻辑/指令”问题,同时足够清晰,易于阅读,所以我希望我能够为Clojure献出一点微薄之力。(不管贡献有多小。):-)

所以现在我看到有人已经考虑重新编写某些内容(比我之前做的更加复杂..:-)),这让我觉得有点酷(我真的喜欢这个想法!)但与此同时,也有些失望 :-)

所以,我想说的是,Clojure真的非常出色,请继续保持你的好工作!
@alexmiller...所以我想我已经连续想了两个月:-(.. ( ... https://clojureverse.org/t/some-rest-vs-next/4598 ... )...然而,我觉得我不仅没有在了解next、rest和some的运作上取得任何进展,相反!我越思考这些内容...我得到的结论就越模糊不清!!!所以如果你能提供一些解释(什么都行!)我会非常感激....现在我知道你并不需要喂食大家...我们都非常忙于工作和等等..所以如果没什么别的东西..那么至少告诉我我是否忽略了什么明显的方面...或者这个事情实际上像刚开始表现的那样复杂和棘手:-(..( ....这简直让我发疯!!!:-().

编辑
首先,请不要让它让你发疯 :-)
其次,你可以在clojurians.slack.com的#clojure-dev和/或#cljs-dev频道获得一些额外的反馈和想法。

编辑了
我同意Andy的看法,在Slack上进行实时讨论可能更加高效,因为目前听起来你甚至无法清楚地表达任何具体的疑问以帮助消除任何混淆?
...