地图功能haskell

Bln*_*pwr 0 haskell map

编译时我收到此错误:

Ambigous occurence'map'
它可以引用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
Run Code Online (Sandbox Code Playgroud)

我仍然得到错误.我正在编制GHCI.

我怎么能避免这个?

小智 5

您收到错误是因为标准前奏(默认导入)已经有了一个map函数.

如果你正在练习,那么使用你自己的新名称是有意义的.这样你可以检查你的工作原理与原版相同.在名称后面加上破折号,或称之为mymap或其他东西.

您也可以进行显式导入,这样您就可以将地图输出:

import Prelude hiding (map)
Run Code Online (Sandbox Code Playgroud)

但我认为考虑你自己的非冲突名称不那么自负.