Domanda

Sono relativamente nuovo per Haskell e ho iniziato a leggere "Real World Haskell".

Mi sono appena imbattuto nel tipo forse e ho una domanda su come ricevere il valore effettivo da a Just 1 Per esempio.

Ho scritto il seguente codice:

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

Funziona bene se uso:

combine (Just 1) Nothing (Just 2)

Ma se cambio, ad esempio, 1 in una stringa non funziona.

Penso di sapere perché: perché eliminate deve restituire un tipo, che è, in questo caso, un Int. Ma come posso cambiare eliminate Per affrontare almeno le corde (o forse con tutti i tipi)?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top