Я использую эту функцию для чтения списка натуральных чисел из строки в следующем формате: [1, 2, 3]
:
readMaybeIntList :: String -> Maybe [Int]
readMaybeIntList line = case readMaybe line of
Just l -> return l
Nothing -> Nothing
Сейчас это работает только для целых чисел — как правильно проверить, являются ли числа натуральными? Должен ли я изменить предложение Just l
, чтобы проверить, все ли числа равны >=0
? Стоит ли возвращать Nothing
из такого вложенного предложения Just
?
Just l | all (>=0) l -> ...
- person chi   schedule 29.05.2017readMaybe line
точно так же, какif b then true else false
эквивалентен толькоb
. - person Rein Henrichs   schedule 29.05.2017case
). - person syntagma   schedule 29.05.2017