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)到裸金属有诸多因素要考虑。

我认为我的主要观点是,不管性能如何,对我来说,某些版本当前版本的‘逻辑’就是不对 :)-(……从逻辑角度来看,可以用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上进行实时讨论可能更有成效,因为现在您似乎甚至无法清晰地表达任何具体问题来消除任何困惑?
...