Todomvc中的“![]”Elm代码语法是什么意思
What does "! []" Elm code syntax in Todomvc mean
来自react,正在学习理解Elm。
在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
和 [=16= 类型的 model
],returns 是一个包含 Model
和 Cmd Msg
的元组。
但是我应该如何阅读return声明?
model ! []
这句话是什么意思? return一个"model [something] empty list"?
我是否遗漏了解释此内容的文档中的某些内容? (谷歌搜索 "elm !" 并没有让我走得太远:)
Elm 0.19 更新
Elm 0.19 删除了感叹号运算符。您现在必须手动构建元组,如 (model, Cmd.none)
.
Elm 0.18 的原始答案
model ! []
中的感叹号只是(model, Cmd.batch [])
的简写函数,是典型的update
语句返回的类型。 It is defined here
请注意,此语法将在下一版 Elm (0.19) 中消失,因此请不要养成使用它的习惯;-)
你今天可以用,用0.19:
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
NoOp ->
(model, Cmd.none)
来自react,正在学习理解Elm。
在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
和 [=16= 类型的 model
],returns 是一个包含 Model
和 Cmd Msg
的元组。
但是我应该如何阅读return声明?
model ! []
这句话是什么意思? return一个"model [something] empty list"?
我是否遗漏了解释此内容的文档中的某些内容? (谷歌搜索 "elm !" 并没有让我走得太远:)
Elm 0.19 更新
Elm 0.19 删除了感叹号运算符。您现在必须手动构建元组,如 (model, Cmd.none)
.
Elm 0.18 的原始答案
model ! []
中的感叹号只是(model, Cmd.batch [])
的简写函数,是典型的update
语句返回的类型。 It is defined here
请注意,此语法将在下一版 Elm (0.19) 中消失,因此请不要养成使用它的习惯;-)
你今天可以用,用0.19:
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
NoOp ->
(model, Cmd.none)