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 回答