gpt4 book ai didi

Elm 语言签名中连续的多种类型(没有箭头)是什么意思?

转载 作者:行者123 更新时间:2023-12-04 13:13:05 24 4
gpt4 key购买 nike

在榆树语言中,我很难解释我的问题......
在榆树的这些片段中:
我理解类似的签名

update : Msg -> Model -> Model

其中参数/输出由箭头分隔,但我如何阅读/了解以下内容:
Sub Msg
Program Never Model Msg

在:
main : Program Never Model Msg
main =
program
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}

subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none

最佳答案

在类型签名中,参数类型由 -> 分隔,最后一个类型是返回值。

如果没有 ->符号,则表示它是该类型的值。在您的 main例如,main 的类型是 Program Never Model Msg .它没有箭头,所以它不需要参数。

现在,类型注释中的每个参数和返回值可能有几个用空格分隔的东西,如您的 main例子。最左边是类型,后面是用空格分隔的类型参数。

Program Never Model Msg
| | | |
| ------|-----
type type parameters

类型参数类似于 C# 等语言中的泛型。 C# 中的等效语法是:
void Program<Never, Model, Msg>()

C# 不直接关联,因为它具有不同的约束泛型类型参数的方式,但总体思路是成立的。

Elm 指南目前没有大量信息,但这里是 section talking about types .

关于Elm 语言签名中连续的多种类型(没有箭头)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665215/

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