2013-02-06 17 views
0

嘿傢伙,所以我想創建一個簡單的程序來刪除元素的第一次出現然後返回列表的其餘部分。 它已經有一段時間,我不知道爲什麼我得到第8行返回Haskell遞歸列表的其餘部分

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) 

任何輸入這個解析錯誤?謝謝你的傢伙

+0

下一次請複製並作爲其整體粘貼錯誤消息。 :) –

回答

7

解析錯誤是在第8列,而不是第8行,這是因爲模塊名稱必須以大寫字母開頭。

+0

我知道這樣一個簡單的解決方案。非常感謝 –

2

你得到的答案,但我想指出的另一種解決方案:

deleteFirst x xs = u ++ (drop 1 v) where (u,v) = break (==x) xs