Elm将两个不同的记录合并为一个大记录



在Elm中,是否可以这样做?

REPL

> a = {d = 4 , y = 5}
{ d = 4, y = 5 }
: { d : number, y : number1 }
> b = {b = 4,n=1}
{ b = 4, n = 1 }
: { b : number, n : number1 }
> c = {a | b | g=5}

我想让c包含a和b的所有成员而不单独命名它们

这可能吗?

感谢

不,Elm不支持使用记录更新语法改变记录的形状(尽管在Elm 0.19之前是可能的),并且在JS中没有类似的…spread语法。

您需要使用显式语法将每个字段复制到新记录中。

type alias One =
{ d : Int, y : Int }

type alias Two =
{ b : Int, n : Int }

type alias Three =
{ d : Int, y : Int, b : Int, n : Int, g : Int }

merge : One -> Two -> Three
merge { d, y } { b, n } =
{ d = d, y = y, b = b, n = n, g = 5 }

相关内容

  • 没有找到相关文章