在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 }