我的代码出现了这个错误:
“解析错误(可能是错误的缩进或括号不匹配)”
max3 a b c = if a>b && a>c then show a
else if b>a && b>c then show b
else if c>a && c>b then show c
我需要在a,b和c之间获得更高的数字
编辑:按建议添加else子句后:
max3 a b c = if a>b && a>c then show a
else if b>a && b>c then show b
else if c>a && c>b then show c
else show "At least two numbers are the same"
现在我收到此错误“解析错误输入`if'”
按建议编辑!
编辑:已解决,我跟shree.pat18这样的警卫说过! TY!
答案 0 :(得分:2)
正如John L在评论中提到的那样,当你的条件都没有时,你需要一个最终的else
条款来解决这个问题。
或者,您可以使用警卫代替if..else if
,如下所示:
max3 a b c
| a > b && a > c = show a
| b > a && b > c = show b
| c > a && c > b = show c
| otherwise = show "At least two numbers are the same"
答案 1 :(得分:1)
import Data.List (maximum)
max3 a b c = maximum [a, b, c]
Fuhgeddaboudit。