Sono nuovo di Clojure e programmazione funzionale in generale. Sono in perdita su come gestirlo in modo funzionale.Ruota una matrice list-of-list in Clojure
ho la seguente matrice:
(def matrix [[\a \b \c]
[\d \e \f]
[\g \h \i]])
voglio trasformarlo in qualcosa di simile (ruotare in senso antiorario):
((\a \d \g)
(\b \e \h)
(\c \f \i))
Ho messo in questo pezzo che mi dà gli elementi nell'ordine corretto. Se potessi raccogliere i dati in una stringa in questo modo, potrei dividerlo con la partizione. Comunque sono abbastanza sicuro doseq è la strada sbagliata:
(doseq [i [0 1 2]]
(doseq [row matrix]
(println (get (vec row) i))))
ho dilettato con chiamate mappa nidificate, ma continuo a rimanere bloccati con quello. Qual è il modo corretto di costruire una stringa in Clojure o gestirla in un modo ancora migliore?
Impressionante! Grazie – JustGage