gpt4 book ai didi

Elm:这个初始化是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 23:47:47 25 4
gpt4 key购买 nike

type alias Model =
{ dieFace : Int
}


init : (Model, Cmd Msg)
init =
(Model 1, Cmd.none)

为什么整数1会被传递给模型ala Model 1

类型别名似乎需要记录?

最佳答案

Elm 中没有太多无法解释的魔法(有充分的理由),但有一点是类型和类型别名构造函数。每当您创建类型(别名)时,您都会免费获得一个构造函数。所以,用你的例子,

type alias Model =
{ dieFace : Int
}

给你一个(有点奇怪的)构造函数

Model : Int -> Model 

免费。如果您在记录中添加更多条目,像这样

type alias Model =
{ dieFace : Int
, somethingElse : String
}

构造函数接受更多参数。

Model : Int -> String -> Model 

它们的顺序与记录条目的顺序相同,因此如果您更改类型别名的顺序,则必须将参数顺序更改为构造函数。

联合类型的工作方式类似。

type Shape
= Circle Int
| Square Int Int

悄悄地创建构造函数:

Circle: Int -> Shape 
Square : Int -> Int -> Shape

关于Elm:这个初始化是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43289810/

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