J'utilise cette fonction pour lire la liste des nombres naturels de chaîne dans le format suivant: [1, 2, 3]
:aide readMaybe à lire la liste des nombres naturels
readMaybeIntList :: String -> Maybe [Int]
readMaybeIntList line = case readMaybe line of
Just l -> return l
Nothing -> Nothing
En ce moment, il ne fonctionne que pour les entiers - quelle serait la manière correcte de vérifier si les nombres sont naturels? Dois-je modifier la clause Just l
pour vérifier si tous les numéros sont >=0
? Est-ce une bonne idée de retourner Nothing
de telle clause imbriquée Just
?
pas une réponse très intéressante, mais je dirais oui aux deux questions que vous avez soulevées – hao
Vous pouvez utiliser quelque chose comme 'Just l | all (> = 0) l -> ... ' – chi
Votre instruction case est équivalente à' readMaybe line' de la même façon que si b alors vrai else false est équivalent à 'b'. –