Haskell案例语句中的模式匹配

时间:2017-11-08 18:16:23

标签: haskell pattern-matching

我遇到了以下一段代码:

lala :: [[Int]] -> Bool
lala b = case b of
   (a:_) | Just (b, _) <- uncons a -> True
   other -> False

虽然我理解该函数检查列表的第一个元素是否为空(有更好的方法来编写它,但这不是重点),我不完全理解case语句中发生的模式匹配。在这种情况下,左箭头是uncons调用中的模式匹配吗?这种样式的模式匹配可以嵌套吗?这几乎看起来像列表理解语法,还有其他地方可以使用这种类型的模式匹配吗?

0 个答案:

没有答案