u16suzuの blog

日々学んだことのメモブログです。

自分で作ったクラスで Enumerable モジュールを include して使う

class CatList
  include Enumerable

  def initialize(*cats)
    @cats = cats
  end

  def each
    for v in @cats
      yield v
    end
  end

end

cats = CatList.new( "mike", "cha", "tora" )
p cats.map(&:upcase)
# => ["MIKE", "CHA", "TORA"]