はじめまして つい最近、MLに登録した白川です。

既存のクラスを拡張するために継承を使った場合について
教えてください。

例えば、Arrayクラスのように、Arrayクラスのオブジェクトを
返すメソッドがある場合、Arrayクラスを継承したMyArrayクラスの
オブジェクトに そのまま そのようなメソッドを呼び出すと
先祖がえりして、Arrayを返してしまいます。
これをMyArrayクラスが返るようにしたいのです。

どうすれば、ラク(^-^) でしょうか?


--- ここからコード ---
class MyArray < Array
  def ppp
    puts "ppp"
  end
end

a = MyArray.new
a.push(999)
a.push(777)
b = a[0,1]
b.ppp  #undefined method `ppp' for [999]:Array(NameError)


----------------------
白川貴久