1

在 Java 中,equals/hash 函数可以简单地通过覆盖/实现类的方法来定制。

当您想要自定义类的唯一性时,这非常有用 - 这样您就可以轻松检查集合中的“重复”。

你会如何在 Elixir 中做同样的事情,特别是在 ETS 中?

4

1 回答 1

1

做我需要做的事情的一种方法是创建一个唯一的哈希函数(可以返回任何类型)。每个唯一输入应该只有一个该哈希函数的唯一输出。

然后你可以存储 {hash, val} 元组:

table = :ets.create(:table, [])
:ets.insert(table, {hash(val), val})
:ets.lookup(table, hash(val))
于 2017-10-01T19:13:03.460 回答