Je voudrais intégrer peut-être [int] dans ce.Chaîne à la liste des Int
Le code doit prendre une corde et filtrer les espaces transformant en une liste d'entiers et si leurs lettres sont rien renvoyer.
text2digits :: String -> [Int]
text2digits s = case s of
[] -> []
x:xs
|isDigit x -> digitToInt x :text2digits (filter (/= ' ') xs)
|otherwise -> undefined
input "1233 5687" output: [1,2,3,3,5,6,8,7]
input "a89" required output : Nothing
current output: undefined
J'ai essayé mais il montre une liste d'erreurs
text2digits :: String -> Maybe [Int]
text2digits s = case s of
[] -> Just []
x:xs
|isDigit x -> Just digitToInt x :text2digits (filter (/= ' ') xs)
|otherwise -> Nothing
Indiquez quel est le problème avec votre code actuel. Fournir un exemple d'entrée et de sortie attendue. –
Dans votre cas 'autrement', renvoyez' Nothing'. Cela vous demandera cependant de changer le type de retour du cas 'isDigit', et le cas' [] ',' 'Maybe [Int]' aussi. Vous pouvez le faire en utilisant 'Just'. –
Vous ne pouvez pas fusionner un 'Nothing' avec une liste ... –