けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :7667 ] the message: "[ruby-dev:7667] Re:
[ruby-ext:00382] New coerce scheme ", on Aug/13 20:08(JST) Shin-ichiro
Hara writes:

>原です。

>|> +(other) でも super を呼んで、この「数値関連クラス」の最も上位の
>|>クラスでのみ coerce を呼ぶのがいいのでは?
>|>
>|>いや、単にこの「数値関連クラス」に上位クラスが無いケースでの説明を
>|>書いているだけかな。
>|
>|そうですね.
>|
>|* 知らないクラスに対しては, superを実行するようにします(B-2)(-- これは, 
>|  別の数値クラスが, Numericのサブクラス(か子孫)である場合です. もし,
>|  Numericのサブクラスでない時には, 変換できない旨の適当な例外を発生させ
>|  る必要があります. --).
>
>この説明は、corece(other) の方の話ですよね。

です.

>+(other) の方も else 節で super を呼んだ方がより対称的で感じイイかなと
>思ったんです。

現行では, Numeric#coerceはあるんですが, Numeric#+はないので... super呼べ
ないなと. その現状に合わせた書き方になったんだと思います.

>それはそうと、
>
>In message "[ruby-dev:7641] Re: [ruby-ext:00382] New coerce scheme"
>
>|class 数値関連クラス
>|  def +(other)
>|    when other
>|    case 自分が知っているクラス1
>|      # それなりの計算を行う
>|    case 自分が知っているクラス2
>
>もしかして(しなくても ^^;)when と case の使い方が逆みたい。

非常にまずい(^^;;; 出る前でよかった(^^;;;

原さん感謝(__;;;

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---