haskell传递参数中的映射

时间:2010-08-30 12:56:33

标签: haskell

如何在haskell中将Data.Map映射Int传递给[Char]?函数头如何?我们假设函数将返回一个int

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

3 个答案:

答案 0 :(得分: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 :(得分:1)

这取决于您导入Data.Map的方式。如果你导入Data.Map不合格(你很可能不这样做,这就是为什么我选择它作为例子;)),它将是Map Int [Char]。我怎么知道?很简单,documentation说:

  

data Map k a

     

从键k到值a的映射。

答案 2 :(得分:1)

嗯,const 5 :: Map Int [Char] -> Int,例如。