我在Haskell中有一个列表解析,它指定了一个Maybe类型的谓词:
[x | x <- listOfMaybes, isJust(f y), x == fromJust(f y)]
有没有办法简化这个表达式?
答案 0 :(得分:14)
您只需使用catMaybes
(来自Data.Maybe
)过滤掉所有Nothing
值。
答案 1 :(得分:14)
如果您只想过滤掉所有Nothing
s,那么shang的答案会提供最简洁的解决方案。但是,它可以在列表理解中轻松完成:
[x | Just x <- f y]