1

所以我试图实现一个最大函数,但由于某种原因,我在最后一行 "mymax x:y:ys = ....." 上遇到了一个解析错误。该错误的原因是什么?谢谢!

mymax :: Ord a=>[a]->Maybe a
mymax [] = Nothing
mymax [x] = Just x
mymax x:y:xs = if (x < y) 
            then mymax(y:xs) 
            else mymax(x:xs)
4

2 回答 2

3

您缺少括号:

mymax (x:y:xs) = if (x < y) 
                 ...
于 2013-09-18T04:42:03.250 回答
2

用括号括起来x:y:xs

mymax (x:y:xs) = ...
于 2013-09-18T04:42:28.677 回答