ごとけんです In message "[ruby-list:9196] Re: induced_from" on 98/08/18, 石塚圭樹 <keiju / rational.com> writes: >けいじゅ@日本ラショナルソフトウェアです. >>さらに、自分が知ってる精度クラス達などを >>known_precisions なんていうメソッドを用意して >>おくことで prec を Mix-in の対象にすることも出来 >>そうです。 > >共通のprecで済むってことです?? あまり考えてなかったのですが、名前の統一の意味でしか 出来なさそうで、嬉しくないですね。 でも精度を特徴付けるモジュールはありそうだし、あった方が クラスのインターフェイスの指針が解りよいと思うのですが。 -- gotoken # ちょっと考えてみた結果:
module Precision def prec(klass) if m = CONV_METHOD[klass] m.call else klass.induced_from(self) end end end class Complex def prec_i Complex(@real.to_i, @image.to_i) end def prec_f Complex(@real.to_f, @image.to_f) end CONV_METHOD = { Integer => proc{prec_i}, Float => proc{prec_f} } include Precision end