理解elm中的代码片段(类型更新)
下面的代码是什么意思理解elm中的代码片段(类型更新),elm,Elm,下面的代码是什么意思 type Update = First Field.Content | Last Field.Content | Email Field.Content | Remail Field.Content | Submit (代码取自第36行) 声明新类型更新?这些竖条是什么意思?是的,这声明了一个新类型更新。竖条可以理解为“或”。也就是说,Update类型的内容可以是: 一个第一个,其中包含一些类型为字段的数据。内容 一个最后一个,其中
type Update
= First Field.Content
| Last Field.Content
| Email Field.Content
| Remail Field.Content
| Submit
(代码取自第36行)
声明新类型
更新?这些竖条是什么意思?是的,这声明了一个新类型更新。竖条可以理解为“或”。也就是说,Update
类型的内容可以是:
一个第一个
,其中包含一些类型为字段的数据。内容
一个最后一个
,其中包含一些类型为字段的数据。内容
一封电子邮件
,其中包含一些字段类型的数据。内容
一个Remail
,其中包含一些类型为字段的数据。内容
或a提交
,没有相应的数据
要处理Update
类型的值,可以使用的大小写-语法来区分不同的可能值:
update : Update -> State -> State
update upd st = case upd of
First content -> st -- do something in the situation that the Update is a First
Last content -> st -- do something in the situation that the Update is a Last
Email content -> st -- do something in the situation that the Update is a Email
Remail content -> st -- do something in the situation that the Update is a Remail
Submit -> st -- do something in the situation that the Update is a Submit
<>我会在ELM网站上添加一个文档链接,但是它正在为新的0.14版本改写。我以后可能会回来编辑;) 这就像过程语言中的枚举类型,对吗?那些第一个
,最后一个
更像一个标签,对吗?是这个吗?谢谢你的帮助:)这是正确的链接。当前名称为“Union type”,Elm文档的浏览效果很好,请在Elm-lang.org上用谷歌搜索一下。抱歉,我没有提供链接,网站结构即将更改。