小林です。

----- Original Message -----
送信者 : <nobu.nakada / nifty.ne.jp>
件名 : [ruby-list:19866] Re: initialization & super


 なかださん、ありがとうございます。
> > 拡張ライブラリクラスを継承するサブクラスの
> > initializeは実行できないのでしょうか?
>
>   デフォルトでは実行しません。
>
> class A < SDBM
>   def A.new(*args)
>     super.instance_eval {initialize(*args); self}
>   end
> end
>
> を加えてみてください。この例では SDBM::new と A#initialize に同じ
> 引数が渡ります。
........(snip)..........
たしかに、これで initializeは実行できました(難しい...)。

# ただ、sdbmはOK、だけど私のBigFloatではうまくいかない!
# 処理は同じはずなのに...

各継承クラス(インスタンス)間で、new()とinitialize()の呼ばれる順序
がどうなっているのかわからなくなってきました。

小林 茂雄
E-Mail: shigeo / tinyforest.gr.jp
Home Page: http://www.tinyforest.gr.jp