まつもと ゆきひろです

In message "[ruby-list:12493] Re: super"
    on 99/03/01, WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> writes:

|:サブクラスとスーパークラスでデフォルト値が違う場合にサブクラ
|:ス優先になるのとか,
|
|違う値ならサブクラスが優先されたほうが自然のような気も.

まあ,そういう場合も多いでしょうが,サブクラスでの省略値はサ
ブクラスの実装のための省略値であると考えるとかならずしも良い
とは限らない可能性もあります.

# ま,びみょうな時には明示的に指定してってので問題ないのでしょ
# うが.

|:サブクラスの引数の数が多いときにエラーに
|:なるとか,嬉しくないことも多いような気もします.
|
|これがいまいちよくわかんないんですけど, 逆に多いときはエラー
|にならないとまずくないのかな?
|さっきの例で言うと
|Foo は def initialize(a, b, c = 2)
|Bar は def initialize(a, b = 1, c = 2, d = 3)
|の場合 Bar.new(0, 0, 0, 0) はどっちにしてもエラーですよね?

これはそうです.が,今回の改造では

  Bar.new(0, 0)

がエラーになるのです.optionalが提供された状態でsuperを呼ぶ
ので.これはまずいかもです.

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