Question

Je suis relativement nouveau à Haskell et j'ai commencé à lire "Real World Haskell".

Je suis juste tombé sur le type peut-être et j'ai une question sur la façon de recevoir la valeur réelle d'un Just 1 par exemple.

J'ai écrit le code suivant:

combine a b c = (eliminate a, eliminate b, eliminate c)
                where eliminate (Just a) = a
                      eliminate Nothing = 0

Cela fonctionne bien si j'utilise:

combine (Just 1) Nothing (Just 2)

Mais si je change, par exemple, 1 à une chaîne, cela ne fonctionne pas.

Je pense que je sais pourquoi: parce que eliminate doit redonner un type, qui est, dans ce cas, un Int. Mais comment puis-je changer eliminate Pour traiter au moins des chaînes (ou peut-être avec toutes sortes de types)?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top