わたなべです.

Makoto Nukui <gnue / cyborg.ne.jp> writes:

:サブクラスを作成したときに、クラスメソッド(例えば DBM の
:open )をオーバーライドしようとすると思ったようにオーバー
:ライドできません。

require 'dbm'

class MyDBM < DBM
  def MyDBM.open file, mode = 0666
    puts file
    super
  end
end

db = MyDBM.open("test")
db.close

問題ないと思うんだけど?

:それと、Dir のサブクラスをつくったとき、mkdir などのクラス
:メソッドがそのサブクラスのメソッドから使えません。

class MyDir < Dir
  def MyDir.mkchdir dir
    mkdir dir
    chdir dir
    puts pwd
  end
end

MyDir.mkchdir "hoge"

こっちもちゃんと動いてますね.

どのように作ったんでしょう?

-- 
わたなべひろふみ