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) 转换到裸金属时必须考虑许多因素。

我想我主要想说的是,不管性能如何,至少对我来说,some 当前版本的 '逻辑' 似乎并不正确 :-) ... 从逻辑上讲,可以用 rest 代替 next ... 但在较新的 Clojure 版本中,由于某些原因,它在我的基准测试中的表现远不如我所希望的那样 (... 在我的基准测试中至少... 所以这不必意味着非常多... :-) )

无论如何,我认为这个版本确实修复了某些人遇到的“逻辑/命令”问题,同时也比较清晰易懂,于是我就有点抱着一线希望,渴望能够哪怕以微薄之力.contribute(做出贡献)给Clojure本身。:-)

现在看到,有人已经考虑过以更复杂的方式重新编写一些代码(比我之前的方法更复杂... :-))),这感觉挺酷的(我真的很喜欢这个想法!),但与此同时,也有一点失望:-)

所以,我想说的是,Clojure真的很出色,继续保持良好的工作态度!
@alexmiller... 这样看来,我已经连续两个月在思考这个问题了 :-(... ( ... https://clojureverse.org/t/some-rest-vs-next/4598 .... ).... 然而,感觉我对next、rest和some到底是什么东西仍然一无所知,反而越想越乱,越想越看不清。如果你能提供一些解释(任何内容都行!),我会非常感激...现在我知道,这不是你的本职工作,我们都非常忙于工作和各种事务等等。所以我们至少应让对方知道,他是否忽略了什么明显的错误,或者问题是否真的像他所感觉的那样复杂且棘手 :-( .... ( ....这让我快要发疯了!!! :-( ... )

编辑
首先,请不要让它让你发疯 :-)
其次,你可能会在一些地方获得更多反馈和灵感,例如 clojurians.slack.com 上的 #clojure-dev 和/或 # cljs-dev 频道。

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