まつもと ゆきひろです

In message "[ruby-list:4219] Re: Mini ML Program"
    on 97/09/09, Kikutani Makoto <kikutani / jdc.ericsson.se> writes:

|きくたにです。
|
|見習いとしては、人のプログラムは参考になるなあ。
|
|見習いの質問です。
|
|> class CMail
|>   # コンストラクタ
|>   def CMail.new(f)
|(snip)
|>   end

|>   def CMailSpool.new(d)
|>     return super(d)
|>   end

|のように、あらわにコンストラクタを定義するメリットは何なのでしょうか?
|私は initialize が普通の意味でのコンストラクタだと思っていたのですが。

前者はnewの引数によってsuper(スーパークラスの同名のメソッド)
に与える引数を変えるためです.これはfrom.rbの中に同じような
コードがありますね.後者はそのままsuperを呼んでますから,意
味は無いですね.たぶん,前者にひきずられたんでしょう.

                                まつもと ゆきひろ /:|)