Venant de réagir, j'apprends à comprendre Elm.
Dans le exemple de code Todomvc , il y a l'extrait de code suivant:
-- 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?
Ce que je (pense) comprendre, c'est que la fonction update
prend un msg
de type Msg
et un model
de type Model
, et renvoie un Tuple contenant un Model
et un Cmd Msg
.
Mais comment dois-je lire la déclaration de retour?
model ! []
Que signifie cette déclaration? retourner une "modèle [quelque chose] de liste vide"?
Ai-je raté quelque chose dans les documents où cela est expliqué? (Googler "Elm!" Ne m'a pas conduit loin :)
Mise à jour pour Elm 0.19
Elm 0.19 a supprimé l'opérateur de point d'exclamation. Vous devez maintenant construire le Tuple manuellement, comme dans (model, Cmd.none)
.
Réponse originale pour l'orme 0,18
Le point d'exclamation dans model ! []
n'est qu'une fonction abrégée pour (model, Cmd.batch [])
, qui est le type renvoyé par les instructions update
typiques. Il est défini ici
Notez que cette syntaxe disparaît dans la prochaine version d'Elm (0.19), alors ne prenez pas l'habitude de l'utiliser ;-)
Vous pouvez utiliser aujourd'hui, et avec 0,19:
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
NoOp ->
(model, Cmd.none)