Arrays 在OCAML上将一个数组的内容复制到另一个数组

Arrays 在OCAML上将一个数组的内容复制到另一个数组,arrays,ocaml,Arrays,Ocaml,我想用一个新数组替换数组中的现有内容 现在我有这样的东西 let orig_array = ref (Array.make 255 0) ;; let do_something() = ( ..... let z = (*Some Array*) !orig_array = z ; (*THIS DOES NOT WORK*) );; 关于如何用其他阵列替换当前阵列,有什么建议吗?我知道我可以一个接一

我想用一个新数组替换数组中的现有内容

现在我有这样的东西

let orig_array = ref (Array.make 255 0) ;;

let do_something() = (

          .....
          let z = (*Some Array*)
          !orig_array =  z ;   (*THIS DOES NOT WORK*)  
  );;        

关于如何用其他阵列替换当前阵列,有什么建议吗?我知道我可以一个接一个地复制元素,但我想知道是否有更简单的方法

您的代码有太多基本错误,因此我不确定您到底想要什么

如果要复制数组的全部内容并创建新内容,只需使用
array.copy
<代码>blit过于复杂

如果要替换引用,请使用
原始数组:=z
,而不是
!原始数组=z


无论如何,在编写应用程序之前,您应该仔细阅读OCaml教程…

是的,您是对的。在我这方面,那是一个愚蠢的错误。假设它是
orig_数组:=z
,除此之外,您还发现了什么错误。再次感谢你发现这一点。在用另一个数组替换数组时,这也是正确的方法吗?您可以使用
array.copy
,保留相同的数组并为其提供新内容。您可以使用
:=
使引用引用引用其他数组。这取决于你想做这两件事中的哪一件。作为学习OCaml的建议,绝对值得尝试不要过度使用引用。对于数组,这不太说明问题,因为OCaml数组是可变的。但这仍然值得思考。