每个人!
我是 Purescript 初学者,在处理记录时遇到问题。
我有一种记录类型:
type Employee =
{ firstName :: String
, lastName :: String
, address :: String
, height :: Number
, weight :: Number
...
}
Run Code Online (Sandbox Code Playgroud)
我只想更新此记录的一部分。假设我只想像下面的打字稿代码那样更新高度。
let a: Employee = {
...a,
height: 180
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 Purescript 中实现这一点?谢谢你。
PureScript 中记录更新的语法如下:
r2 = r1 { x = 42, y = "foo" }
Run Code Online (Sandbox Code Playgroud)
在哪里:
r1 是原始记录r2 是新的、更新的记录x并且y是记录字段(不一定是所有字段)上面的代码段等效于以下 JavaScript 代码:
r2 = { ...r1, x: 42, y: "foo" }
Run Code Online (Sandbox Code Playgroud)