Matrix 检查矩阵ocaml中的所有值

Matrix 检查矩阵ocaml中的所有值,matrix,ocaml,Matrix,Ocaml,我有一个矩阵: let arr = Array.make_matrix 4 4 0;; 以及检查所有元素是否为0的内容。 我听说过函数for_all,但我不太明白如何将它与矩阵一起使用,因为它需要一个int数组或int列表。根据文档(),以下是您需要了解的所有信息: val for_all : ('a -> bool) -> 'a array -> bool Array.for_all p[|a1;…;an |]检查数组的所有元素是否满足谓词p。也就是说,它返回(pa1)&

我有一个矩阵:

let arr = Array.make_matrix 4 4 0;;
以及检查所有元素是否为0的内容。

我听说过函数for_all,但我不太明白如何将它与矩阵一起使用,因为它需要一个int数组或int列表。

根据文档(),以下是您需要了解的所有信息:

val for_all : ('a -> bool) -> 'a array -> bool
Array.for_all p[|a1;…;an |]
检查数组的所有元素是否满足谓词
p
。也就是说,它返回
(pa1)&&(pa2)&&……&&(p an)


例如:
Array.for_all(=)0)
具有类型
int-Array->bool
,并检查所有元素是否为零。

矩阵是一个数组数组(或行数组,如果您愿意)。因此,您需要在每一行上执行一个
for_all
,以检查该行的所有元素是否为零,并在另一个
for_all
外部执行另一个
以检查行上的所有
for_all
是否为真:

let arr = Array.make_matrix 4 4 0 in
Array.for_all (fun row ->
  Array.for_all ((=) 0) row) arr