まつもと ゆきひろです

In message "[ruby-ext:01602] Re: require 'dir/...'?"
    on 01/03/02, Minero Aoki <aamine / dp.u-netsurf.ne.jp> writes:

|ちょっと待ってください。それは違う話です。たとえ現在の tmail.rb を
|mail.rb に改名したとして、それをユーザが直接指定して TMail::Mail だけ
|使うのは別に構いません。しかしぼくは TMail:: にあるものは全部一括
|して提供したいんです。具体的にはバラバラだと
|
|  require 'tmail/mail'
|  require 'tmail/loader'
|
|となりますが、これを require 一個で提供したいんです。そういう場合
|高橋さんのおっしゃる例だと(トップの) tmail.rb を作るわけですが、
|そこに至る道筋がおかしいだろうって言ってるんです。tmail.rb で
|提供したいのは ::TMail じゃなくて ::TMail::* です。それを tmail.rb で
|提供してしまうのは高橋さんの論理 (ディレクトリ構造とクラス構造が
|対応するのがシンプルだよね) にてらしたらむしろ矛盾するでしょうと。

高橋さんの論理はひとつの目安に過ぎません。すべての当てはめて
うまくいくとは限りません。あおきさんがそう思うのでしたら、きっ
とtmailは当てはまらないケースなんでしょう。

しかし、当てはまらないからといってトップレベルのtmail.rbを提
供するのが不適切かどうかは決まりません。要は、あおきさんがユー
ザになにを提供したいのか、でしょう? 全体としてtmailという機
能をまとめて提供したいのでしたら、tmail.rbという名前になるで
しょうし、tmailのいくつかある機能をバラバラに提供し、場合に
よっては全部まとめてロードする手段を提供したい(そして、全部
まとめてであることをどうしても強調したい)んでしたら、
tmail/all.rb になるでしょう。

                                まつもと ゆきひろ /:|)