如何创建一个我将拥有密钥的Map:(int * int),当涉及到密钥时,它是my_own_type?
答案 0 :(得分:2)
这是一个小例子:
module IPMap = Map.Make(struct type t = int * int let compare = compare end)
let mymap = IPMap.add (0, 0) (my_value : my_own_type) IPMap.empty
let mymap' = IPMap.add (1, 2) (t: my_own_type) mymap
注意:您不必编写(t: my_own_type)
。你可以写t
。我只是为了强调而把它包括在内。
创建像IPMap这样的地图模块时,只需指定键的类型即可。您可以根据需要添加具有不同值类型的不同地图。
注2:OCaml映射是不可变的。我担心你还没有完全解决这个问题。 (如果我错了,请道歉。)