我打算在Ocaml中使用Map
来练习。如何使用Map /定义一个实际上是OCaml中的Map的类型?
我发现Map
的用法是从List
,Array
完全不同,等
我的理解是运用functor
,我还没有学会。但没关系。
这里是我的IntMap
module IntMap = Map.Make(struct type t = int let compare = compare end)
所以,现在我可以IntMap.add x y map
使用IntMap
到add
等,对不对?
我有几个问题:
- 如何控制
value
在map
类型? - 如果我想要我的
IntMap
的别名类型,我该怎么办?我可以做type 'a my_type = 'a list
,但map
怎么办? - 我发现
IntMap
就像List
,他们两个实际上都是modules
。但List
有一种类型list
,那么map
呢?
我在doc中看到'type +'a t类型键到类型'a'的映射类型,里面的'+'的含义是什么? – 2013-04-04 16:25:37
@JacksonTale看到这个问题:[为什么在此类型之前有一个加号?](http://stackoverflow.com/questions/15305499/why-there-is-a-plus-sign-before-this-type/ ) – gasche 2013-04-04 21:46:52