こんにちは。みかみにございます。


 るびきちさんのメイルを拝読して、返事のメイルを送ってから
青木さんのメイルを拝見したので、前のメイルの内容があまり
有効で無くなってしまいました。ご了承下さい。


 青木さん、ご教示ありがとうございます。TMail もありがたく
利用させて頂いております。

| > > TMail::Mail クラスにインスタンス変数を一つ追加したい
| > > のですが、値を代入しても nil になってしまいます。
| > こういう場合、TMail::Mailクラスをインスタンスに持つクラスを
| つくってみるのはどうでしょうか?
| 厳密に言うと、TMail::Mail のインスタンスを持つようなオブジェ
| クトのクラスを定義する、ですよね? こんな感じに。
| 
|   class MailWrapper
|     def initialize(mail, n)
|       @mail = mail
|       @number = n
|     end
|   end
| 
|   n = 125
|   MailWrapper.new(TMail::Mail.load("/home/aamine/Mail/inbox/#{n}"), n)
| 
| 用語使うとコンポジション (composition)。

 なるほど、良く分かりました。


| これでもいいと思いますが、この場合に限っては、元のメール番号を
| 知りたいというのが目的だと思うので、次のようにしたほうがいい
(中略)
|   mail.sequence_number
| だけで取れます。

 ありがとうございます。参考にさせて頂きます。


| しかし、安易に継承しないほうがいい、という点は同感です。
| もうちょっと他のデータも必要だということなら、その場合は
| コンポジションのほうがいいと思います。

 分かりました。ありがとうございました。

    ______________________________________________________
   /                                               ______/
  /  みかみ まさと - 英語表記も姓名順です        _____/
 /   Mikami Masato - ↓最終更新日  11/11       ____/
/       興  風  館 - http://kofukan.nmn.jp/  ___/