如何处理 Maybe type in Haskell list comprehensions
How to deal with Maybe type in Haskell list comprehensions
我在 Haskell 中有一个列表理解,它指定了 Maybe 类型的谓词:
[x | x <- listOfMaybes, isJust(f y), x == fromJust(f y)]
有没有办法简化这个表达式?
您可以简单地使用 catMaybes
(from Data.Maybe
) 过滤掉所有 Nothing
值。
如果你只是想过滤掉所有的Nothing
,shang的回答给出了最简洁的解决方案。然而,它可以在列表理解中轻松完成:
[x | Just x <- f y]
我在 Haskell 中有一个列表理解,它指定了 Maybe 类型的谓词:
[x | x <- listOfMaybes, isJust(f y), x == fromJust(f y)]
有没有办法简化这个表达式?
您可以简单地使用 catMaybes
(from Data.Maybe
) 过滤掉所有 Nothing
值。
如果你只是想过滤掉所有的Nothing
,shang的回答给出了最简洁的解决方案。然而,它可以在列表理解中轻松完成:
[x | Just x <- f y]