gpt4 book ai didi

在 Elm 0.19 中合并具有可扩展记录的模型

转载 作者:行者123 更新时间:2023-12-04 13:19:48 26 4
gpt4 key购买 nike

我定义了一个可扩展的记录

type alias Saved a =
{ a
| x : Int
, y : String
}

和一个 Model基于此:
type alias Model =
Saved { z : Float }

然后我将 JSON 加载并解码为 Saved {} :
let
received =
Decode.decodeValue savedDecoder json |> Result.toMaybe
in
(Maybe.map
(\r ->
{ model
| x = r.x
, y = r.y
}
)
received
|> Maybe.withDefault model

有没有办法合并现有的 modelreceived不涉及单独复制每个字段的可扩展记录,类似于 ES6 Object.assign功能?

最佳答案

事情就是这样完成的。或者,您可以模式匹配参数:

Maybe.map
(\{x, y} ->
{ model
| x = x
, y = y
}
)

关于在 Elm 0.19 中合并具有可扩展记录的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54831260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com