Enumerable モジュールを include することで、Enumerable の多くのメソッドが使えます。必ず each を実装すること。
class SortedList include Enumerable def initialize @data = [] end def <<(element) (@data << element).sort! end def each @data.each {|e| yield(e)} end end if __FILE__ == $0 a = SortedList.new a << 8 a << 1 a << 9 p a #=>#<SortedList:0x007fd3dabf1fc0 @data=[1, 8, 9]> p a.inject(&:+) #=>18 p a.max #=>9 p a.map {|i| i * i} #=>[1, 64, 81] end
Rubyベストプラクティス -プロフェッショナルによるコードとテクニック
- 作者: Gregory Brown,高橋征義,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/03/26
- メディア: 大型本
- 購入: 9人 クリック: 307回
- この商品を含むブログ (48件) を見る