Clojure / core.matrix /初始化2d数组

时间:2016-02-19 18:25:38

标签: clojure

在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内置功能来完成这项工作?

1 个答案:

答案 0 :(得分:1)

您可以使用new-matrixfill

(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。不过,那时你可能最好只使用问题中的原始解决方案。