我希望能够定义一个类型(比如my_type),它可以标识包含字符串作为键的哈希表并将其映射为整数值。
所以,我想将哈希表标识为OCaml中的用户定义类型
# type my_type = (string, int) Hashtbl.t;;
但是,当我尝试
# let a = Hashtbl.create 100;;
val a : ('_a, '_b) Hashtbl.t = <abstr>
# Hashtbl.add a "A" 12;;
- : unit =()
# a;;
- : (string, int) Hashtbl.t = <abstr>
最后一行显示的(字符串,整数)Hashtbl.t =文摘代替my_type。我怎样才能确保它给我的散列表的类型为my_type?
这不是一个很好的建议:它不是关于子类型,而是简单的两种类型。强制并没有多大意义,因为简单的类型注释会这样做,实际上即使是类型注释也没有多大用处。 – gasche 2013-03-10 15:06:55
你是对的,我忘记了类型注释..这确实不是一个好建议.. – octref 2013-03-10 15:44:29