既存メソッドを override する場合、以前のメソッドも呼び出すには alias または alias_method を用いて別名保存しておきます。 alias_method の例 alias_method :original_foo, :foo http://wota.jp/ac/?date=20060503#p01 例 ary.size = 10 の ary[10] を参照すると ary[0] を返す Array#[]。 class Array alias_method :org, :[] def [] (n) return org(0) if n > 9 org(n) end end ary = Array.new(10){|i| i} p ary #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] p ary[10] #=> 0