オブジェクトの比較
Rubyの勉強
自分で定義したクラスのオブジェクト同士の比較を行いたい場合はComparableをインクルードして、演算子<=>を定義する。演算子<=>はクラス内の要素の何を比較するかの定義。これによってobja == objb 等の比較の記述ができる。
Enumerableをインクルードしてeachメソッドを定義することで、上記のComparableをインクルードを行ったクラスのオブジェクト集合に対して#sort、#collect、#max他の処理が行えるようになる。
下記の例ではMIMEタイプを保持するクラスMimeと、Mimeクラスのオブジェクトの集合を扱うMimeListを定義している。