具有多个表达式的Haskell case分支
我使用模式匹配来处理以下多种情况:具有多个表达式的Haskell case分支,haskell,pattern-matching,Haskell,Pattern Matching,我使用模式匹配来处理以下多种情况: case maybeV of Nothing -> doWhenNothing Just something -> doWhenSomethingExpression_1 doWhenSomethingExpression_2 case maybeV of Nothing -> doWhenNothing Ju
case maybeV of Nothing -> doWhenNothing
Just something -> doWhenSomethingExpression_1
doWhenSomethingExpression_2
case maybeV of Nothing -> doWhenNothing
Just something -> do
doWhenSomethingExpression_1
doWhenSomethingExpression_2
编译器似乎将第二个表达式dowhensomethingeexpression_2
视为dowhensomethingeexpression_1
的参数,并报告错误。当我在case
的一个分支中有多个表达式时,如何处理这种情况
顺便说一句,我想我可以使用
if
来判断的值,但是使用if
是一个好方法吗?假设您的代码在单子中,您可能希望这样:
case maybeV of Nothing -> doWhenNothing
Just something -> doWhenSomethingExpression_1
doWhenSomethingExpression_2
case maybeV of Nothing -> doWhenNothing
Just something -> do
doWhenSomethingExpression_1
doWhenSomethingExpression_2
这是Monad(do
environment)吗?Haskell是一种函数式语言,因此您不能简单地枚举指令……您应该在问题中添加doWhenSomething…
类型和其他相关信息。