Haskell 具有多个表达式的 case 分支

Haskell case branch with multiple expressions

我使用模式匹配来处理多种情况,如下所示:

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

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

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

假设您的代码在 monad 中,您可能需要这样的东西:

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