0

コンパイル時に次のエラーが発生します。

あいまいな出現 'マップ'
blablabla で定義されたいずれかの Main.map を参照できます

ここで同様の投稿を読んで、これを試しました:

import qualified Data.Map as Map

map                     :: (a->b) -> [a] -> [b]
map f  []               =  []
map f (x:xs)            =  f x : map f xs

私はまだエラーが発生しています。私はGHCIでコンパイルしています。

どうすればこれを回避できますか?

4

1 に答える 1

5

標準のプレリュード (デフォルトでインポートされる) には既に map 関数が含まれているため、エラーが発生しています。

練習している場合は、関数に独自の新しい名前を使用するのが理にかなっています。そうすれば、オリジナルと同じように動作することを確認できます。名前の後にダッシュを付けるか、mymap などと呼んでください。

マップを除外できるように、明示的なインポートを行うこともできます。

import Prelude hiding (map)

しかし、競合しない自分の名前を考えるのはあまりおかしくないと思います。

于 2013-11-08T19:34:24.440 に答える