в Clojure Я использую следующую функцию для инициализации 2d вектора:Clojure: инициализировать 2d вектор
(defn vec2d [x y init]
(vec (map
#(vec (map init (range x))) (range y))))
использование:
(def grid (vec2d 40 30 (fn [] "x")))
Так как я новичок в языке, я спрашиваю если это самый прямой способ сделать это. У кого-нибудь есть идея оптимизировать это?
Это довольно запутанным. Что вы пытаетесь вставить, и что вы хотите выбраться? – jmargolisvt
Извините, в коде что-то не так. теперь он обновлен. –
Если вы много работаете с 2D-структурами, вы можете рассмотреть core.matrix. – Mars