请在 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 投票
by
selected by
 
最佳答案

我认为添加一个反转比较器比添加特殊的 r whatever 函数的可能性更大。

不过,可能会有相关的工单。

...