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