我一般是新来的Clojure和函数式编程。我在如何以功能性的方式处理这个问题上感到不知所措。旋转列表的列表矩阵Clojure中
我有以下矩阵:
(def matrix [[\a \b \c]
[\d \e \f]
[\g \h \i]])
我想把它改造成这样的事情(逆时针旋转):
((\a \d \g)
(\b \e \h)
(\c \f \i))
我砍死了这一点,让我的元素按正确的顺序。如果我可以用这种方式收集字符串中的数据,那么我可以用分区来分割它。不过我敢肯定doseq是走错了路:
(doseq [i [0 1 2]]
(doseq [row matrix]
(println (get (vec row) i))))
我和嵌套调用的地图涉猎,但一直被卡住这一点。在Clojure中建立字符串或以更好的方式处理这个字符串的正确方法是什么?
令人印象深刻!谢谢 – JustGage