2011-10-10 95 views
1

我有一個自定義類的數組。我已經在其上定義了< =>,並且已經過測試,以確保我的自定義定義按照其應有的方式運行。我認爲我可以調用[] .uniq並將其過濾掉我的重複項,但是這沒有發生。是否有另一個運營商我需要超載?ruby​​ 1.9.2 uniq方法不能對抗自定義類的數組

回答

3

Array#uniq是基於平等,而不是排序,所以你的對象需要到eql?迴應。此外,它使用散列來加速性能,所以你也需要實現hash

不幸的是,這份合同沒有在the documentation中指定,但它通常是幾乎在每本Ruby書籍或課程中都有指定。

1

我需要什麼樣的實現,是.hash

+0

你是怎麼解決的? –

+0

我在軌道irc頻道問了一個人。 –

相關問題