У меня есть список вроде этого:
let foo = [Just 1, Just 2, Nothing, Just 3, Nothing, Nothing]
Используя catMaybes
, я могу извлечь только значения Just
-constructed:
catMaybes foo -- [1,2,3]
Теперь я ищу функцию, которая не только дает список Just
, но и счетчик Nothing
для конечного списка, пройдя его один раз. Он должен иметь такую подпись:
catMaybesCount :: [Maybe a] -> ([a], Int)
Примечание. На этот вопрос был дан ответ Q & A-style и, следовательно, намеренно не показывает никаких исследований!