RosettaCodeData/Task/Spiral-matrix/Clojure/spiral-matrix-2.clj
2017-09-25 22:28:19 +02:00

8 lines
292 B
Clojure

(defn spiral-matrix [m n & [start]]
(let [row (list (map #(+ start %) (range m)))]
(if (= 1 n) row
(concat row (map reverse
(apply map list
(spiral-matrix (dec n) m (+ start m))))))))
(defn spiral [n m] (spiral-matrix n m 1))