自分で作ったクラスに、組み込みライブラリのEnumerableをインクルードしてあげると、map, with_index,selectと言った便利メソッドが使える様になる。
やりかた
例えば、複数のアイテムを表すItemWithQuantityと言うクラスを作ったとする。
ItemWithQuantity.new(hp_recovery, 3)で「やくそう3つ」を表す。
ItemWithQuantityにEnumerableモジュールをインクルードし、eachを定義してあげる。
すると、map, with_index,selectといったEnumerableに属するメソッドの一部が使えるようになる。
補足:Enumerableに含まれるメソッドの一覧
http://ref.xaio.jp/ruby/classes/enumerable
eachに加えて<=>を定義する事で、sort, maxなどさらに沢山のメソッドが使えるようになるが、それについては今度書く。