复制OCaml中的字段

时间:2010-10-26 17:00:33

标签: syntax ocaml field records

我对OCaml记录有一个非常基本的问题。假设我有一个定义的记录:

type r = {a:int;b:int;c:int}
let x = {a=3;b=8;c=2}

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

let y = {a=3;b=8;c=4}

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

let y = {a=x.a;b=x.b;c=4}

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

let y = {x with c=4}

或类似的东西?

非常感谢您的帮助。

一切顺利, Surikator。

1 个答案:

答案 0 :(得分:15)

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

let y = {x with c=4}