小编cyg*_*gin的帖子

ocaml - 具有可变字段的记录数组

我是OCaml的新手,我正在努力理解它的概念mutable record field.

我想创建一个记录数组,该记录包含一个布尔可变字段.所以我做了类似的事情:

type t = {i: int; mutable b: bool};;
Run Code Online (Sandbox Code Playgroud)

我希望能够更改记录的'b'字段的值,所以我把它 mutable

let m = Array.make 10 ({i = 5; b = false});;
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试设置位于我的数组的第一个索引处的记录的b字段:

(Array.get m 0).b <- true;;
Run Code Online (Sandbox Code Playgroud)

问题是我想要它,它将设置数组的所有记录的'b'字段,这不是我想要的.

同一记录的可变字段是否共享相同的内存位置?如何更改特定记录的"b"字段的值?

ocaml records mutable

1
推荐指数
1
解决办法
436
查看次数

标签 统计

mutable ×1

ocaml ×1

records ×1