From: matz@... (Yukihiro Matsumoto) Date: 1998-08-18T12:13:37+09:00 Subject: [ruby-list:9185] Re: induced_from まつもと ゆきひろです In message "[ruby-list:9180] induced_from" on 98/08/18, GOTO Kentaro writes: |ごとけんです |で、思ったのは何かというと、こういう時のために、 |精度を担うクラスには引数の個数をそろえた new か、 |あるいは違う名前のメソッド、たとえば induced_from を |用意しておくと良いのではなかろうかと言うことです。 むむむ,なんとなくcoerceと似てますね.現在のcoerceはオブジェ クトに対して「あなたと合う型に変換して」とお願いしてますが, これはクラスに対して「あなたの型に変換して」とお願いすること になりますね. たとえば,Numericのサブクラス(あるいは精度を担うクラス)には そういうメソッドを定義することを要求するというのはある意味筋 が通ってます.通常の場合にはcoerceもそれを使えば良いし. |これは以前 Bag モジュールを検討した時、コンテナに |引数の個数が1のappend があればレシーバと同じクラスの |結果を返すcollect としての map_each や更に map_each! |なんてのも楽に作れるのにと思ったのと少し似ていると |感じました。 うーん,たとえばContainterClass[elements,..]というようなコン ストラクタを約束事にするというのは一つの手だと思います.実際, ArrayとHashにはソレがありますよね.もっとも,RangeやStringに までそれが意味があるかと言われると疑問なのですが. まつもと ゆきひろ /:|) p.s. 出雲経由北海道行の海外からのアクセスはXMLのメーリングリスト で吉田さんのXMLモジュールが紹介されたからのようです.