以下是我无法解决的问题,我正在使用ocaml将数组元素复制到新数组中。我希望能够相互独立地修改这些数组,但无论我尝试什么,对其中一个数组的更改也会反映在另一个数组中。 下面是一个简单的例子:将变量赋值给数组元素,其中变量和数组可以在ocaml中独立修改
type sampleType = { a : int; b : int array };;
let x = {a = 5; b = [|1, 2, 3|] };;
let y = x.b;;
Array.set y 1 6;;
运行这些命令后,我想:
y - : int array = [|1; 6; 3|]
x - : sampleType = {a = 5; b = [|1; 2; 3|]}
相反x
正在与y
而变化,并且
x - : sampleType = {a = 5; b = [|1; 6; 3|]}
这个问题的任何解决方案?
欢迎来到Stack Overflow!如果你将代码格式化为代码,通过缩进四个空格,或者像\\''这样将其包装为'\',你的帖子将会更加漂亮。 –