8

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

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

现在,假设我想创建一个所有字段都等于 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}

或类似的东西?

非常感谢您的帮助。

一切顺利,苏瑞卡托。

4

1 回答 1

15

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

let y = {x with c=4}
于 2010-10-26T17:04:27.397 回答