gpt4 book ai didi

hashtable - Ocaml 哈希表中的相等性

转载 作者:行者123 更新时间:2023-12-04 10:10:39 25 4
gpt4 key购买 nike

Ocaml 中是否有使用 == 的哈希表?而不是 =测试键的相等性时?
例如:

# type foo = A of int;;
# let a = A(1);;
# let b = A(1);;
# a == b;;
- : bool = false
# a = b;;
- : bool = true
# let h = Hashtbl.create 8;;
# Hashtbl.add h a 1;;
# Hashtbl.add h b 2;;
# Hashtbl.find h a;;
- : int = 2
# Hashtbl.find h b;;
- : int = 2

我想要一个可以区分 a 的哈希表和 b .那可能吗?

最佳答案

您可以使用自定义哈希表:

module H = Hashtbl.Make(struct
type t = foo
let equal = (==)
let hash = Hashtbl.hash
end)

然后使用 H而不是 Hashtbl在你的代码中。

关于hashtable - Ocaml 哈希表中的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com