Elm 设置别名记录中的值

Elm 设置别名记录中的值,elm,Elm,我刚从Elm开始,所以要友善: 在中,模型似乎是用值1初始化的,如下所示: type alias Model = { dieFace : Int } init : (Model, Cmd Msg) init = (Model 1, Cmd.none) 我的理解是,代码 Model 1 设置记录中dieFace属性的值。这是正确的吗?如果是的话:设置记录属性的奇怪语法是什么?我本以为会有类似的事情发生 { model | dieFace = 1 } Model是记录的类型别名,该

我刚从Elm开始,所以要友善:

在中,模型似乎是用值1初始化的,如下所示:

type alias Model =
  { dieFace : Int
  }


init : (Model, Cmd Msg)
init =
(Model 1, Cmd.none)
我的理解是,代码

Model 1
设置记录中dieFace属性的值。这是正确的吗?如果是的话:设置记录属性的奇怪语法是什么?我本以为会有类似的事情发生

{ model | dieFace = 1 }
Model是记录的类型别名,该记录有一个名为dieFace的int值

有几种方法可以创建该类型的值:

模型1-将模型视为具有单个参数的函数 {dieFace=1}-创建一条恰好与模型别名一致的记录 您在{model | dieFace=1}中看到的奇怪语法是基于现有记录值创建新值但更改一个或多个字段的缩写。当您的记录类型只有一个字段时,这可能没有多大意义,因此让我们创建一个任意示例:

类型别名ColoredDie={dieFace:Int,color:String} 你可以在游戏中玩,也许这会有助于它的意义:

>蓝色3=彩色D蓝色3 {dieFace=3,color=blue}:Repl.ColoredDie >red3={blue3 | color=red} {dieFace=3,color=red}:{dieFace:Int,color:String} >red4={red3|dieFace=4} {dieFace=4,color=red}:{color:String,dieFace:number} >绿色6={red4 |颜色=绿色,模具面=6} {dieFace=6,color=green}:{color:String,dieFace:number} 可以。

Model是记录的类型别名,该记录有一个名为dieFace的int值

有几种方法可以创建该类型的值:

模型1-将模型视为具有单个参数的函数 {dieFace=1}-创建一条恰好与模型别名一致的记录 您在{model | dieFace=1}中看到的奇怪语法是基于现有记录值创建新值但更改一个或多个字段的缩写。当您的记录类型只有一个字段时,这可能没有多大意义,因此让我们创建一个任意示例:

类型别名ColoredDie={dieFace:Int,color:String} 你可以在游戏中玩,也许这会有助于它的意义:

>蓝色3=彩色D蓝色3 {dieFace=3,color=blue}:Repl.ColoredDie >red3={blue3 | color=red} {dieFace=3,color=red}:{dieFace:Int,color:String} >red4={red3|dieFace=4} {dieFace=4,color=red}:{color:String,dieFace:number} >绿色6={red4 |颜色=绿色,模具面=6} {dieFace=6,color=green}:{color:String,dieFace:number}
你可以。

谢谢查德,这是我很久以来得到的最好答案,而且非常快。谢谢查德,这是我很久以来得到的最好答案,而且非常快。