Elm 如何升级一个包含另一个记录的记录?

Elm 如何升级一个包含另一个记录的记录?,elm,Elm,我有一个记录: 类型别名点={x:Int,y:Int} 我还有一张这样的唱片: type alias SuperPoint={p:Point,z:Int} p=第5点10 sp=超点P15 现在,如果我需要更新SuperPoint.z,我可以这样做: {sp|z=20} 如何更新SuperPoint.Point?sp2= 让 p2={p|x=42} 在里面 {sp | p=p2} 现在您有四种更新方法: 在下面的代码中可以找到其中的两个 三是使用 第四:以适当的通用方式处理更新 最后还有

我有一个记录:

类型别名点={x:Int,y:Int}
我还有一张这样的唱片:

type alias SuperPoint={p:Point,z:Int}
p=第5点10
sp=超点P15
现在,如果我需要更新
SuperPoint.z
,我可以这样做:

{sp|z=20}
如何更新SuperPoint.Point?

sp2=
让
p2={p|x=42}
在里面
{sp | p=p2}

现在您有四种更新方法:

  • 在下面的代码中可以找到其中的两个
  • 三是使用
  • 第四:以适当的通用方式处理更新
  • 最后还有一段代码不起作用,但如果那样做的话,它可能会很有用
elm-0.18中的示例

导入Html公开(…)
模型=
{left={x=1}
}
更新模型=
让
左=
模型左
新左派=
{左| x=10}
在里面
{model | left=newLeft}
updateLeftX x({left}作为模型)=
{model | left={left | x=x}}
更新模型2=
updateLeftX 11模型
主要=
分区[]
[div[][文本数据->数据
更新val访问器数据=
{data | accessor=val}
更新模型4=
{model | left=updateInt 13.x model.left}