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