如何部分更新纯脚本记录

How to partially update a purescript record

各位!

我是 Purescript 的初学者,在处理记录时遇到了问题。

我有一种记录类型:

type Employee =
 { firstName :: String
 , lastName :: String
 , address :: String
 , height :: Number
 , weight :: Number
 ...
 }

我只想更新此记录的一部分。 假设我只想像下面的打字稿代码那样更新高度。

let a: Employee = {
 ...a,
 height: 180
}

如何在 Purescript 中实现这一点? 谢谢。

PureScript 中记录更新的语法如下:

r2 = r1 { x = 42, y = "foo" }

其中:

  • r1为原始记录
  • r2 是新的更新记录
  • xy 是记录字段(不一定是所有字段

以上代码片段等同于以下 JavaScript 代码:

r2 = { ...r1, x: 42, y: "foo" }