在Java中,可以简单地通过在类上覆盖/实现方法来自定义Equals/Hash函数。
当您想自定义类的独特性时,这将非常有用 - 因此您可以轻松地在集合中检查"重复"。
您将如何在Elixir(特别是使用ET)中做同样的事情?
做我需要做的一种方法是制作唯一的哈希功能(可以返回任何类型)。每个唯一输入都应该只有一个唯一的哈希功能。
然后您可以存储{hash,val}元组:
table = :ets.create(:table, [])
:ets.insert(table, {hash(val), val})
:ets.lookup(table, hash(val))