From: gotoken@... (GOTO Kentaro) Date: 1998-08-18T13:07:19+09:00 Subject: [ruby-list:9188] Re: induced_from ごとけんです In message "[ruby-list:9185] Re: induced_from" on 98/08/18, Yukihiro Matsumoto writes: >まつもと ゆきひろです どうもありがとうございます。 >たとえば,Numericのサブクラス(あるいは精度を担うクラス)には >そういうメソッドを定義することを要求するというのはある意味筋 >が通ってます.通常の場合にはcoerceもそれを使えば良いし. ぼくも coerce で書けるかなと思ったのですが、ちょっと 違うみたいなので。こういう自分の型のオブジェクトを 作るクラスメソッドは少なくともこの精度の件では有用だと 思っているのですが組み込み(数値)クラスで取り上げられるに 値するものような一般的なスタイルなのかどうかまでは ぼくには解りませんので、そう言われて安心しました ^^;; >|これは以前 Bag モジュールを検討した時、コンテナに >|引数の個数が1のappend があればレシーバと同じクラスの >|結果を返すcollect としての map_each や更に map_each! >|なんてのも楽に作れるのにと思ったのと少し似ていると >|感じました。 > >うーん,たとえばContainterClass[elements,..]というようなコン >ストラクタを約束事にするというのは一つの手だと思います.実際, >ArrayとHashにはソレがありますよね.もっとも,RangeやStringに >までそれが意味があるかと言われると疑問なのですが. まぁ確かに String だけ見るとそうですが、collect の結果を もとにレシーバのクラスのオブジェクトを構成するクラス メソッドがあると、以前僕が入ってた同値類クラスなんかの 適用範囲が明確になって実装もしやすくなるのではないかと。 つまり、これこれのメソッドがあれば使えると判断できます。 # 同値類 Mix-in は名前で悩んで中断したままですが それと ContainterClass[elements,..] より ContainterClass.consist_of[elements,..] のような クラスメソッドの方が type の結果にメソッドを送れて便利だし、 逐次的には引数が1つの ContainterClass#append(elm) が あるとさらによいとは思います。実際、Hash に要素を 加える際は Hash#[] で Array なら Array#push なのは面倒です。 コンテナの追加に揃った方法があると便利ではないでしょうか? 引数の意味はドキュメントを読まないといけないことには 変りませんが。 -- gotoken >p.s. >出雲経由北海道行の海外からのアクセスはXMLのメーリングリスト >で吉田さんのXMLモジュールが紹介されたからのようです. どうもです。ガッテンガッテンガッテン 僕も吉田さんとこにはリンクを張ろうかと思ったのですが、 翻訳するガッツはないし…