From: akira yamada Date: 1997-09-18T15:06:50+09:00 Subject: [ruby-list:4406] Re: mail address class コメントありがとうございます. Wed, 17 Sep 97 10:50:52 +0900 頃の Mail-Count: 04356 Subject: [ruby-list:4356] Re: mail address class についてのお話にて 石塚圭樹 さん曰く… (石 == keiju@bc.mbn.or.jp (石塚圭樹 ) さん) In article 04356, <199709170154.KAA01662.keiju@bc.mbn.or.jp> 石> デフォルト引数を用いているメソッド定義がほとんどですが, 利用することは 石> 滅多にないと思うので用いない方が良いんじゃないかと思います. ちょっと分からないのですが, デフォルト引数がないことの 積極的なメリットってのはどういう点になるのでしょう? 石> 2. module RFC822 と class Addresses/class Addressについて 石> 石> この場合, class Addressesやclass Addressでmodule RFC822をインクルード 石> した方が良いでしょう. そうすると例えば, はい, そうですね. この辺りはまったく理解していませんでした. 石> 3. class Addressesについて 石> 石> こういう複数系のクラスは滅多にないですし, クラス自身の目的も良く分かり 石> ません. パーザと整形(folding)を兼ねている見たいですが, クラスにする必 石> 要はないでしょう. この辺り, 紆余曲折の名残と言うことで(^_^;) ちょっと考えてみたのは RFC822 とかって class を作って folding はそっちに実装する(アドレスを扱う class に含めるのは おっしゃる通り元々無理がありますね). でもって, >> # o まじめに MIME エンコードできる (やってない) >> # o MIME デコードできる (やってない) 石> MIMEに関しては, ここで作るのでなくて別モジュールにした方が良いと思いま 石> すよ. そうすれば, Addressに限らずいろいろなところで利用できますから. という話は class MIME < RFC822 とかって形にしていく, とかかな. 石> 5. ここからは, 個別に指摘していきます. 石> 石> def debug_print(level = 0, string = "") 石> 石> このままだと, 1文字列しか渡せないので, 石> 石> def debug_print(level, *strings) 石> 石> としたらいかがでしょう? あ, この辺はそもそも残しておいたのがまずかったのですが, 安直なデバッグ用だったので(^_^;). が, それはそれとして 石> 実際には1文字列しか渡している例はありませんが, このようなルーチンは他 石> のプログラムにも使えますので, デバッグ用の汎用のモジュールとして用意し 石> ていけば良いんじゃないかしら? と言うようにできると良いですね. >> # メールアドレスを扱うためのクラス: >> # o MX レコードを参照できる (やってない) 石> この機能はきっとここのアドレスに対しておこなうものでしょうから, もし組 石> み込むならAddressのメソッドにしたら良いと思います. 御意です. (実はコメントを移動し忘れたただけっす) 石> # このメソッドに限らずの話しなんですが, 字句解析系はもっとも rubyらし 石> # くなくなりますね... 元々字句解析なんてやったことがないので これ以上のことは思い付かないのですが, 例えばどのようにすれば良いのでしょうか? -- やまだ あきら (akira@linux.or.jp or akira@nurs.or.jp) Linux 関連ページ