在clojure中,可以使用如下值来初始化2-d数组:
(defn vec2d
"Return an x by y vector with all entries equal to val."
[x y val]
(vec (repeat y (vec (repeat x val)))))
是否可以使用core.matrix内置功能来完成这项工作?
答案 0 :(得分:1)
您可以使用new-matrix
和fill
:
(require '[clojure.core.matrix :as matrix])
(defn vec2d
"Return an x by y vector with all entries equal to val."
[x y val]
(matrix/fill (matrix/new-matrix y x) val))
如果您需要将结果作为常规2D Clojure向量,则可以在结果上调用to-nested-vectors
。不过,那时你可能最好只使用问题中的原始解决方案。