リストのアイテムを数値化し、数字のついたタプルのリストを返す関数を書こうとしています。私は 'zip'関数でそれを行うことができますが、タスクは再帰を使って書くことができます。 get "は無限の型を構築できません:a = [a] numerize ''の型を一般化するとき、私は間違っていますか?なぜhaskellはこのエラーをスローするのです
4
A
答えて
8
[x:xs]
overwriter
numerize' :: [a] -> Int -> [(a, Int)]
numerize' [] _ = []
numerize' [x] n = [(x, n)]
numerize' [x:xs] n = (x, n) : numerize' xs (n + 1)
おかげで、すべてのベストは、あなたがシングルトンの場合は必要ありません
(x:xs)
+0
ああ!おかげで愚かな間違い:) – overwriter
+1
+1の "ブラブラ"、簡単な答えは時には最高です – Kru
する必要があります! – is7s
私はコンパイラエラーのために "投"という用語を使用しません。エラーを「スローする」とは通常、実行時の例外を指します。 –