1
我不知道如何同時導入兩個不同的模塊。下面的代碼如何提及不同的模塊
import qualified Data.Map as Map
import Data.List
phoneBookToList :: (Ord k) => [(k,String)] -> Map.Map k String
phoneBookToList xs = Map.fromListWith (\n1 n2 -> n1 ++ ", " ++ n2) xs
phoneBookFromWithList :: (Ord k) => [(k,a)] -> Map k [a]
phoneBookFromWithList = Map.fromListWith (++) $ map (\(k,a) -> (k,[a]))
拋出這個錯誤
Not in scope: type constructor or class `Map'
Perhaps you meant `Map.Map' (imported from Data.Map)
Failed, modules loaded: none.
的map (\(k,a) -> (k,[a]))
我試圖從默認的前奏模塊使用它。我試過Data.List.map (\(k,a) -> (k,[a]))
,但仍然出現錯誤。儘管如此,它仍然是GHCi命令。在此先感謝
'map'和'Data.List.map'是相同的。 –
是的,我讀過,請問爲什麼我會收到錯誤信息? – Srinivas
編譯器抱怨類型簽名'(Ord k)=> [(k,a)] - > Map k [a]' - 類型'Map'只能導入限定,因此您必須編寫Map.Map '(就像你在其他類型中那樣)。 – user2407038