2012-01-20 108 views
4

我一直在試圖設計我的只讀數組數據結構,我非常喜歡使用Enumerable類提供遍歷選項的想法,但我無法找到它的要求。在我看過的一些示例中,C實現查找#each方法,但在我看來,它不夠。包括枚舉的要求

+1

僅供參考,'Enumerable'是一個模塊,而不是一個類。 – Frost

回答

8

Pickaxe p。 474,並且還從the core documentation

類[在可枚舉混合]必須提供一種方法each,其 產生集合的連續構件。如果Enumerable#maxminsort,或sort_by時,對象集合 中還必須實現一個有意義的<=>運營商,因爲這些方法 依靠集合的成員之間的順序。

+2

在ruby文檔中也是這樣說的:http://ruby-doc.org/core-1.9.3/Enumerable.html –

+0

@Alex,謝謝。我添加了該答案的鏈接。 –

+0

所以'#each'和'<=>',謝謝你的快速回復 – farnoy