From: gotoken@... (GOTO Kentaro) Date: 1999-02-07T10:36:14+09:00 Subject: [ruby-dev:4798] Re: module Precision ごとけんです In message "[ruby-dev:4797] Re: module Precision" on 99/02/07, Toyofuku writes: > 豊福@パパイヤです。 >私 >>> def coerce(num) >>> if num.type == self.type >>> [num, self] >>> else >>> [num.prec(type), self] >>> end >>> end (中略) > ただ type がなんであっても多くの場合 >Complex(...).prec(type) の値もやはり Complex >の元でしょうから、 > [Complex(...).prec(type), self] >を返しては coerce としてまずいですよね。 まず、実数の部分集合ではないクラスに prec を定義する場合の 仕様は未定で、そのようなクラスに Precision をインクルード すべきではないと思っているんですが、 Compex#prec(klass) が Complex を返すこと自体は理にかなっていると思います。 ただし、このような Precision で定義されていない prec を coerce に使うのはさすがに僕もまずいと思います。 Precision が規定する prec とはそういうモノで、 僕の頭の中にある「精度をもつもの」は実数の部分集合だけです。 その意味で、Numeric は Precision をインクルードすべきでは ないと考えています。 -- gotoken