2012-01-20 8 views
4

私は読み取り専用の配列データ構造を設計しようとしていましたが、Enumerableクラスにトラバースオプションを提供するというのは本当に好きですが、その要件を見つけることはできません。私が見たいくつかの例では、C実装は#eachメソッドを探しますが、それだけでは十分ではないようです。Enumerableを含めるための要件

+1

FYI、 'Enumerable'はモジュールであり、クラスではありません。 – Frost

答えて

8

Pickaxep。 474ともthe core documentationから[列挙に混合】クラス

は コレクションの連続したメンバーをもたらす方法eachを、提供しなければなりません。 Enumerable#maxminsort、またはsort_byが使用されている場合、これらのメソッドは、コレクションのメンバー間の順序に依存している ので、コレクション 内のオブジェクトも、意味のある<=>オペレータを実装する必要があります。

+2

同じことがルビーのドキュメントにあります:http://ruby-doc.org/core-1.9.3/Enumerable.html –

+0

@Alex、ありがとうございます。私は答えにそのリンクを追加しました。 –

+0

だから '#each'と' <=> '、あなたの素早い応答に感謝します – farnoy

関連する問題