如何计算在clojure中表示为矢量的方阵

时间:2014-02-06 05:06:28

标签: vector clojure

假设二维矩阵表示为向量 向量,使得最里面的向量每个都代表一行中的一行 矩阵。如果行数相等,则二维矩阵是正方形 到列数。

1 个答案:

答案 0 :(得分:3)

为什么循环重复约束?

如果你可以假设每一行都是相同的大小(常规结构),这将起作用:

(defn is-square [m]
  (= (count m) (count (first m))))

如果你想检查每一行:

(defn is-square [m]
  (apply = (count m) (map count m)))

如果你真的真的想因为某些原因使用loop-recur:

(defn is-square [m]
  (loop [[row & more] m]
    (if row
      (if (= (count row) (count m))
        (recur more)
        false)
      true)))