我是 OCaml 的新手,我正在尝试理解mutable record field
.
我想创建一个记录数组,该记录包含一个布尔可变字段。所以我做了类似的事情:
type t = {i: int; mutable b: bool};;
我希望能够更改记录的“b”字段的值,所以我把它mutable
let m = Array.make 10 ({i = 5; b = false});;
在这里,我尝试设置位于数组第一个索引处的记录的b字段:
(Array.get m 0).b <- true;;
问题是我要这样做,它将设置数组所有记录的“b”字段,这不是我想要的。
同一记录的可变字段是否共享相同的内存位置?如何更改特定记录的“b”字段的值?