我试图以特定的方式对Clojure列表(或seq,如果它是所谓的)进行排序.我希望它按降序排列最后一项的优先级,然后按升序排列第一项.一个例子:
(def pnts '((1 2)
(2 4)
(3 2)
(4 10)
(5 3)
(6 1)
(7 2)))
(sort-by last > pnts)
;; ((4 10) (2 4) (5 3) (1 2) (3 2) (7 2) (6 1))
;; Notice how (1 2), (3 2), (7 2) are sorted. This
;; is correct and is what I want.
Run Code Online (Sandbox Code Playgroud)
该(排序由过去的),似乎是在做的伎俩,虽然这可能是因为点最初由排序第一个项目.我正在实现我正在编写点的ASCII/CLI图形脚本的方式将始终像pnts那样排序.我的问题是什么是可以保证这种排序偏好的命令?
PS我尝试过(排序方式(juxt last first)(juxt> <)pnts)但无济于事.