Soy nuevo en Clojure y en la programación funcional en general. No sé cómo manejar esto de una manera funcional.Girar una matriz de lista de lista en Clojure
tengo la siguiente matriz:
(def matrix [[\a \b \c]
[\d \e \f]
[\g \h \i]])
quiero transformarlo en algo como esto (girar en sentido antihorario):
((\a \d \g)
(\b \e \h)
(\c \f \i))
He hackeado este bit que me da los elementos en el orden correcto. Si pudiera recopilar los datos en una cadena de esta manera, podría dividirlos con partición. Sin embargo estoy bastante seguro de doseq es el camino equivocado:
(doseq [i [0 1 2]]
(doseq [row matrix]
(println (get (vec row) i))))
he incursionado con la correspondencia de llamadas anidadas, pero sigo siendo pegado con eso. ¿Cuál es la forma correcta de construir una cuerda en Clojure o manejar esto de una mejor manera?
impresionante! Gracias – JustGage