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
我使用模式匹配来处理多种情况,如下所示:
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