3
我有地圖的載體,就像這樣:排序向量
{2 ["a" "c" "b"], 1 ["z" "y" "x"]}
我想由關鍵字排序的映射,然後每個對應的向量也被排序,這樣:
{1 ["x" "y" "z"], 2 ["a" "b" "c"]}
我知道我可以通過按鍵做(into (sorted-map) themap)
排序,我知道我可以提供一個換能器into
,但我的短來了,究竟如何換能器應該看看。這裏有一個傳感器我已經試過:
(defn xform [entry]
(vector (first entry) (vec (sort (second entry)))))
然而,當我嘗試將其應用到我的地圖,我得到這個異常:
java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.core$conj__4345
我怎樣才能得到這個工作?有沒有更好的方法,然後使用into
與換能器?
你幾乎得到了它。您錯過了使用「地圖」功能來創建「地圖」傳感器。 '(map xform)',儘管你不應該把這個函數叫做xform,因爲它不是一個傳感器,而只是一個函數。 – ClojureMostly