Compte tenu de ce code:Motif Elm correspondant sur la structure de données génériques
type Msg
= NoOp
| UpdateField ReqRes
type ReqRes a
= Request a
| Response (Result Http.Error Bool)
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of
UpdateField reqres ->
case reqres of
Request a ->
-- Do stuff
Response result ->
-- Do stuff
_ ->
-- Do stuff
Comme vous pouvez le voir, j'ai Msg nommé UpdateField, qui prend la UnionType ReqRes. Jusqu'ici tout va bien. Mais le type d'union a une structure de données générique (ou contient une variable de type ... est-ce que les deux signifient la même chose ???).
Mon problème est maintenant, que je ne sais pas comment faire correspondre sur ce point.
Le compilateur me dit cette erreur:
... Problem in this pattern match
The pattern matches things of type:
ReqRes a
But the values it will actually be trying to match here are:
ReqRes
Oha, tout à fait raison. Je vous remercie. J'ai reconnu que cela ferait exploser toute mon architecture. Hmm ... Plan était de simplifier ma fonction de mise à jour donc j'ai un Messsage qui peut gérer à la fois, Demandes et Réponses ... mais il y a des tonnes de changements pour y parvenir de cette façon, et ça ne ressemble pas à un nettoyage facile pour lire l'amélioration ... Peut-être que je devrais compter sur un lib comme remotedata ... – marschro