syntax - 复制 OCaml 中的字段

标签 syntax ocaml field records

我有一个关于 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}

或类似的东西?

非常感谢您的帮助。

祝一切顺利,
苏里卡托。

最佳答案

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

let y = {x with c=4}

关于syntax - 复制 OCaml 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4026009/

相关文章:

javascript - 如何使用 javascript 中的多个函数来验证表单

syntax - 在 Clojure 中应用函数列表中的第一个

scala - 使用元组作为参数列表调用方法

Perl 语法错误 - elseif 应该是 elsif at

ocaml - 输入 ocaml 方法

arrays - OCaml - 将 csv 文件读入数组

c# - LINQ TO SQL 子查询

recursion - 带尾递归的慢字节码

python - 在 Python 中绘制粒子在速度场内的运动并制作动画

ruby-on-rails - 有条件的 rails 字段