2024年Clojure调查!中分享你的想法。

欢迎!请参阅关于页面以获取更多关于它的工作方式的信息。

0
位于 Clojure
关闭

你对添加index-by函数到核心命名空间有何看法?这就像group-by,但是不会创建一个向量。

(defn index-by
  "Return a map where a key is (f item) and a value is item."
  {:added "1.11"
   :static true}
  [f coll]
  (persistent!
   (reduce
    (fn [ret x]
      (assoc! ret (f x) x))
    (transient {}) coll)))

我已经使用这个函数多年,尤其是用于索引数据库结果。通常,你有一个包含映射的向量,每个映射都有一个唯一的ID,你需要构建一个像ID → 行的映射。为什么不引入这样的函数呢?我可以创建一个PR。

已关闭,重复问题: 创建同质值的索引映射
我觉得这个问题是`group-by-reduce`( https://cnuernber.github.io/ham-fisted/ham-fisted.api.html#var-group-by-reduce )的特殊情况,这可能与你感兴趣的话题有关。
by
关键点在于,这个函数应该在核心模块中。我不喜欢引入新的依赖,只需要4-5行代码。
by
明白了!感谢澄清。
...