地图函数哈斯克尔



我在编译时收到此错误:

模棱两可的发生"地图"
它可以引用在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。

我怎样才能避免这种情况?

您收到错误是因为标准前奏(默认情况下导入)alrready中有一个map函数。

如果您正在练习,那么使用自己的新名称来表示该功能是有意义的。这样,您就可以以与原始文件相同的方式检查您的作品。在名称后加上破折号,或者叫它mymap或其他东西。

您还可以执行显式导入,以便省略映射:

import Prelude hiding (map)

但我认为想想你自己不冲突的名字就不那么可爱了。

最新更新