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

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

0 投票
Clojure

有时我需要进行反向排序。虽然我可以传递一个比较函数来翻转结果 (sort #(compare %2 %1) coll),但要过一段时间才能意识到集合在逆序。

希望能有一两个函数以更声明式的方式完成这项操作(功能名称仅供参考)。

(defn rsort
  "Same as sort, but reversed."
  ([coll] (rsort compare coll))
  ([comp coll] (sort #(comp %2 %1) coll)))

(defn rsort-by
  "Same as sort-by, but reversed."
  ([keyfn coll] (rsort-by keyfn compare coll))
  ([keyfn comp coll] (sort-by keyfn #(comp %2 %1) coll)))


我最终将这些添加到了一个共享库中,以便在我的项目中使用,但如果这些功能能成为 Clojure 的核心库的一部分将是极好的(更自私地,这样我就不需要在项目中要求/命名空间这些函数了)。

1 答案

0 投票

选中
 
最佳答案

我认为我们更可能添加一个反向比较器,而不是特殊的 r whatever 函数。

不过,可能已经有一个相应的工单了。

...