请在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真的很棒,继续保持优秀的表现!
by
@alexmiller ……好吧,我想我已经连续思考了两个月了 :-(……(…… https://clojureverse.org/t/some-rest-vs-next/4598 ……)……然而,对我来说,我感觉自己不仅没有取得任何进展,以获得对next、rest和some之间到底发生什么的任何令人满意的了解……相反!!!!!……我越是思考这个问题……结果我越不清楚!!!!!……所以如果你能提供一些解释(任何解释都行!!!)我将真的会非常感激……我现在意识到了,这不是你的工作日复一日地喂食人们……我们都超级忙于工作等等……所以如果没有其他的话……至少告诉我,我是否忽略了一些明显的东西……或者问题实际上是开始在我身上出现的那样复杂和棘手 :-(……(……这简直要让我发疯!!! :-(……)
by 编辑 by
首先,请别让这令你抓狂 :-)
其次,你可能能在clojurians.slack.com的#clojure-dev和/或#cljs-dev频道中获得更多反馈和想法。

编辑了
我同意Andy的看法,在Slack上实时讨论可能更有效率,因为现在听起来你甚至无法表达任何具体问题来消除混淆?
...