Matrix 在ocaml中修改矩阵

Matrix 在ocaml中修改矩阵,matrix,ocaml,Matrix,Ocaml,我想写一个函数,修改矩阵中的每个元素。 但我在编译时遇到了一些问题 警告10:此表达式的类型应为unit 我认为,因为ocaml中的所有函数都需要返回一个值或单位,所以如果我在一个函数中实现两个任务,这是不可接受的。 请帮我修一下 let nomalize_matrix d a x = for i = 1 to d do for j = 1 to d do let n = i*j in x.(i)(j) = sprintf "%s_%d"

我想写一个函数,修改矩阵中的每个元素。 但我在编译时遇到了一些问题

警告10:此表达式的类型应为unit

我认为,因为ocaml中的所有函数都需要返回一个值或单位,所以如果我在一个函数中实现两个任务,这是不可接受的。 请帮我修一下

let nomalize_matrix d a x = 
 for i = 1 to d do 
      for j = 1 to d do
          let n = i*j in
          x.(i)(j) = sprintf "%s_%d" a n
      done
  done;
x;;

在表达式中,OCaml中的=运算符是测试相等性的比较运算符。要分配给数组,请在表达式中使用,OCaml中的=运算符是一个测试相等性的比较运算符。要分配给数组,请使用当您从数组中设置一个项目时,请小心不要使用运算符=,使用运算符当您从数组中设置一个项目时,请小心不要使用运算符=并使用运算符,非常感谢。你说得对,这个接线员是个问题。它修好了,运行良好。非常感谢。你说得对,这个接线员是个问题。它被修好了,运行良好。
let nomalize_matrix d a x = 
 for i = 1 to d do 
      for j = 1 to d do
          let n = i*j in
          x.(i)(j) <- sprintf "%s_%d" a n
      done
  done;
x;;