来自反应,我正在学习理解榆树。
在Todomvc example code中,有以下代码段:
-- How we update our Model on a given Msg?
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
NoOp ->
model ! [] <-- What is this?
我(我认为)理解的是,update
函数包含msg
类型Msg
和model
类型Model
,并返回包含Model
和Cmd Msg
的元组。
但我该如何阅读return语句?
model ! []
这句话是什么意思?返回&#34;模型[某事]空列表&#34;?
我在文档中遗漏了哪些内容? (谷歌搜索&#34;榆树!&#34;没有让我走远:)
答案 0 :(得分:59)
更新Elm 0.19
Elm 0.19删除了感叹号操作符。您现在必须手动构建元组,如(model, Cmd.none)
。
Elm 0.18的原始答案
model ! []
中的感叹号只是(model, Cmd.batch [])
的一个简写函数,它是从典型的update
语句返回的类型。 It is defined here
答案 1 :(得分:7)
请注意,该语法将在下一版Elm(0.19)中消失,因此不要养成使用它的习惯;-)
您现在可以使用,并且使用0.19:
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
NoOp ->
(model, Cmd.none)