2010-08-30 56 views
1

我怎麼可以將一個Data.Map映射Int到haskell中的[Char]?函數標題的外觀如何?讓我們假設該函數將返回一個inthaskell通過映射在參數

import qualified Data.Map as M 
someFunction :: <insert your answer here> -> Int

回答

5

一個工作和編譯的例子:

module Foo where 
import qualified Data.Map as M 
mapSize :: M.Map Int [Char] -> Int 
mapSize m = M.size m 

,它可以讓你做的事情,說在GHCI,像

*Foo> let m = M.fromList [(2,"abc"), (3,"cde")] :: M.Map Int [Char] 
*Foo> mapSize m 
2 
1

這取決於您如何導入Data.Map。如果你導入的Data.Map不合格(你很可能不這樣做,這就是爲什麼我選擇它作爲例子)),它將是Map Int [Char]。我怎麼知道?簡單,documentation說:

data Map k a

一個地圖從鍵k到值。

+0

冷靜,你可以請提供合格的進口一些例子嗎? – coubeatczech 2010-08-30 13:08:53

+2

@coubeatczech:哦,來吧,它*難*嗎?常識應該能夠告訴你從這裏得到的答案... – delnan 2010-08-30 13:11:57

1

那麼,例如,const 5 :: Map Int [Char] -> Int