ruby 1.9.2 uniq方法不适用于自定义类数组

时间:2011-10-10 03:13:01

标签: ruby arrays

我有一系列自定义类。我已经定义了< =>在他们身上,并进行了测试,以确保我的自定义定义表现得如此。我假设我可以调用[] .uniq并让它过滤掉我的副本,但这没有发生。还有其他需要重载的运算符吗?

2 个答案:

答案 0 :(得分:3)

Array#uniq基于相等而非订购,因此您的对象需要回复eql?。此外,它使用散列来加速性能,因此您还需要实现hash

不幸的是,这个合约没有在the documentation中指定,但通常在每本Ruby书或课程中都指定

答案 1 :(得分:1)

我需要实现的是.hash

相关问题