gpt4 book ai didi

Elm 主函数类型注解

转载 作者:行者123 更新时间:2023-12-01 09:33:36 25 4
gpt4 key购买 nike

这个Elm例子的main函数类型注解是什么意思?

main : Html msg
main =
div [] [ text "1" ]

什么是 Html 和 msg?

最佳答案

首先,那个不是函数,因为它不接受任何参数。

但是,类型注释表示 mainHtml 类型,具有未知的变体 msg

Html 是类型,如 IntStringmsg 是类型变体。

有些类型可以有变体,以List a为例。

List a 表示您正在声明一个 List,其中类型变体不相关或未知。例如,List.length 方法的类型注解是:

length : List a -> Int

当你使用这个方法时,你肯定会有一个类型而不是 a,比如 StringInt 或其他什么, length 的行为不会改变。

那么不要被添加到 Htmlmsg 搞糊涂了。它具有相同的含义。在 Elm 中,您呈现可能会发送一些消息的 html 代码,并且您通常将它们定义为联合类型,例如:

type Msg
= ClickedSave
| EnteredText String

因此,您的主声明可以保留为 Html msgHtml a,直到您发送一条消息。

例如,如果您将 onClick 处理程序添加到您的 div,例如:

main =
div [ onClick ClickedSave ] [ text "1" ]

类型注释变为(无论您是否注释它)Html Msg,因为现在您要发送的消息是 Msg 类型。

希望它是清楚的,对不起我的英语,它不是我的母语。

关于Elm 主函数类型注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55821983/

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