Со списком Maybe a
как отфильтровать и взять только те элементы списка, которые не являются Nothing
?
-- input
pas = [Just 3, Just 1, Just 5, Just 9, Nothing, Just 10, Nothing] :: [Maybe Int]
-- expected output
new_pas = [3, 1, 5, 9, 10]
Я пробовал разные способы использования map
и смотрел на mapMaybe
, но не могу найти правильную комбинацию.
map
сам по себе не может фильтровать.concat . map (\case Nothing -> [] ; Just x -> [x])
будет. (конечно, ваш ответ на понимание списка показывает, что он лучше написан с помощью LC). - person Will Ness   schedule 27.10.2020