复制OCaml中的字段

Sur*_*tor 7 syntax ocaml records field

关于OCaml记录,我有一个非常基本的问题.假设我有一个定义的记录:

type r = {a:int;b:int;c:int}
let x = {a=3;b=8;c=2}
Run Code Online (Sandbox Code Playgroud)

现在,假设我想要创建一个记录,其中所有字段都等于x但c = 4.我可以写:

let y = {a=3;b=8;c=4}
Run Code Online (Sandbox Code Playgroud)

但这很烦人,因为不需要重写a = 3和b = 8.我也可以写:

let y = {a=x.a;b=x.b;c=4}
Run Code Online (Sandbox Code Playgroud)

但如果记录有很多字段,这仍然不好.有没有办法写一些像:

let y = {x with c=4}
Run Code Online (Sandbox Code Playgroud)

或类似的东西?

非常感谢您的帮助.

一切顺利,Surikator.

nlu*_*oni 15

是的,这就是确切的语法.

let y = {x with c=4}
Run Code Online (Sandbox Code Playgroud)