以下是我無法解決的問題,我正在使用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!如果你將代碼格式化爲代碼,通過縮進四個空格,或者像\\''這樣將其包裝爲'\',你的帖子將會更加漂亮。 –