编译时我收到此错误:
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)
但我认为考虑你自己的非冲突名称不那么自负.