2012-03-11 140 views
4

試圖編寫函數來計算列表項並返回帶有數字的元組列表,我知道我可以用'zip'函數來完成它,但任務是用遞歸編寫它:所以我得到「不能構造一個無限類型:a = [a]當概括類型爲數字''時,我做錯了什麼?爲什麼Haskell拋出這個錯誤

numerize' :: [a] -> Int -> [(a, Int)] 
numerize' [] _ = [] 
numerize' [x] n = [(x, n)] 
numerize' [x:xs] n = (x, n) : numerize' xs (n + 1) 

感謝,所有最好的,重寫器

+3

你不需要一案! – is7s 2012-03-11 13:38:33

+0

我不會使用術語「throw」來表示編譯器錯誤。 「拋出」錯誤通常是指運行時異常。 – 2012-03-11 21:56:55

回答

8
[x:xs] 

應該

(x:xs) 
+0

哦!感謝這麼愚蠢的錯誤:) – overwriter 2012-03-11 12:43:42

+1

+1爲「bla bla」,簡單的答案有時是最好的 – Kru 2012-03-11 12:45:08