あおきです。
In mail "[ruby-ext:01596] Re: require 'dir/...'?"
Shugo Maeda <shugo / ruby-lang.org> wrote:
> 前田です。
> > たとえば実例としては TMail
> > これらはすべてそろわないと役に立たず、別々には普通使いません。
>
> この場合、ユーザが直接使いたいのはTMail::Mailだと思うので、
> tmail.rbをmail.rbにして、
>
> require "tmail/mail"
ちょっと待ってください。それは違う話です。たとえ現在の tmail.rb を
mail.rb に改名したとして、それをユーザが直接指定して TMail::Mail だけ
使うのは別に構いません。しかしぼくは TMail:: にあるものは全部一括
して提供したいんです。具体的にはバラバラだと
require 'tmail/mail'
require 'tmail/loader'
となりますが、これを require 一個で提供したいんです。そういう場合
高橋さんのおっしゃる例だと(トップの) tmail.rb を作るわけですが、
そこに至る道筋がおかしいだろうって言ってるんです。tmail.rb で
提供したいのは ::TMail じゃなくて ::TMail::* です。それを tmail.rb で
提供してしまうのは高橋さんの論理 (ディレクトリ構造とクラス構造が
対応するのがシンプルだよね) にてらしたらむしろ矛盾するでしょうと。
-------------------------------------------------------------------
青木峰郎