具有多个表达式的Haskell案例分支

时间:2015-04-02 09:49:50

标签: haskell pattern-matching

我使用模式匹配来处理这样的多个案例:

case maybeV of Nothing -> doWhenNothing 
               Just something -> doWhenSomethingExpression_1
                                 doWhenSomethingExpression_2 

似乎编译器将第二个表达式doWhenSomethingExpression_2视为doWhenSomethingExpression_1的参数并报告错误。当我在case的一个分支中有多个表达式时,如何处理这种情况?

顺便说一句,我想我可以使用if来判断maybe值,但是使用if是一个好方法吗?

1 个答案:

答案 0 :(得分:3)

假设你的代码是monad,你可能想要这样的东西:

case maybeV of Nothing -> doWhenNothing 
               Just something -> do
                 doWhenSomethingExpression_1
                 doWhenSomethingExpression_2