【发布时间】:2014-07-01 18:46:41
【问题描述】:
我正在实现归并排序的归并子程序。编译时收到此错误消息:输入时解析错误 |
merge :: [Int] -> [Int] -> [Int]
merge xs ys = go xs ys []
where go xs ys zs =
|null ys = zs ++ xs
|null xs = zs ++ ys
|(head xs) <= head ys = go (tail xs) ys (head xs : zs)
|otherwise = go xs (tail ys) (head ys : zs)
谁能告诉我为什么?还有更简洁的方法吗?谢谢。
【问题讨论】:
-
在
go xs ys zs之后你有一个额外的=- 当用警卫定义某些东西时,=只出现在每个警卫之后,就像你已经拥有的那样。
标签: parsing sorting haskell merge