我使用模式匹配来处理这样的多个案例:
case maybeV of Nothing -> doWhenNothing
Just something -> doWhenSomethingExpression_1
doWhenSomethingExpression_2
似乎编译器将第二个表达式doWhenSomethingExpression_2
视为doWhenSomethingExpression_1
的参数并报告错误。当我在case
的一个分支中有多个表达式时,如何处理这种情况?
顺便说一句,我想我可以使用if
来判断maybe
值,但是使用if
是一个好方法吗?
答案 0 :(得分:3)
假设你的代码是monad,你可能想要这样的东西:
case maybeV of Nothing -> doWhenNothing
Just something -> do
doWhenSomethingExpression_1
doWhenSomethingExpression_2