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

欢迎!请查看关于页面了解有关如何操作的一些更多信息。

0
序列

这个版本的some怎么样?

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

1 答案

+1

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

我还进行了一些性能测试,但我觉得这有点棘手,因为从clojure(script) 到裸机有很多因素需要考虑。

我想我的主要观点是,不管性能如何,至少对我来说,some当前版本的'逻辑'并不正确 :-)... 从逻辑上讲,可以使用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频道中获得一些额外的反馈和想法。
...