module type HashedType =sig
..end
函子 Hashtbl.Make
的输入签名。
type
t
哈希表键的类型。
val equal : t -> t -> bool
用于比较键的相等谓词。
val hash : t -> int
键的哈希函数。它必须满足以下条件:如果两个键根据 equal
相等,则它们由 hash
计算出的哈希值相同。例如:对于任意键类型,合适的 (equal
, hash
) 对包括
(=)
, Hashtbl.HashedType.hash
) 用于根据结构比较对象(前提是对象不包含浮点数)(fun x y -> compare x y = 0)
, Hashtbl.HashedType.hash
) 用于根据结构比较对象并正确处理 nan
(==)
, Hashtbl.HashedType.hash
) 用于根据物理相等性比较对象(例如,对于可变或循环对象)。