0

嘿伙计们,所以我正在尝试创建一个简单的程序来删除第一次出现的元素,然后返回列表的其余部分。已经有一段时间了,我想知道为什么我在第 8 行收到此解析错误

module deleteFirst where
deleteFirst :: (Eq a) => a ->[a] -> [a]

deleteFirst toDelete [] = []
deleteFirst toDelete (a:as) =
    if(toDelete == a) then as
    else a:(deleteFirst toDelete as)

有输入吗?谢了,兄弟们

4

2 回答 2

7

解析错误出现在第 8 列,而不是第 8 行,这是因为模块名称必须以大写字母开头。

于 2013-02-06T01:28:07.527 回答
2

你得到了答案,但我想指出另一个解决方案:

deleteFirst x xs = u ++ (drop 1 v) where (u,v) = break (==x) xs
于 2013-02-06T08:06:32.530 回答