まつもと ゆきひろです

In message "[ruby-list:15206] Re: mail library"
    on 99/07/02, Minero Aoki <aamine / dp.u-netsurf.ne.jp> writes:

|あおきです。

|とは書いたんですがとりあえず Mail:: と Mail/ にしておきました。
|変えたくなったら
|    Alt = Mail
|    $ ln -s Mail Alt
|でごまかすということで…

ふむふむ。ちょっと見てみました。機能についてはそれほど言うこ
とはないのですが、Mail::とMail/についてはもうちょっと考えた
方が良い気がしてきました。

ライブラリとクラス(あるいはモジュール)名の関係についてはいく
つかの組合せが考えられるのですが、どれをRuby流にするのかとい
う議論をちゃんとしておいた方が良い気がしてきたからです。

単純に考えても

  (1) ライブラリファイル名とクラス名を一致させる(Perl5式)
  (2) ライブラリファイル名とクラス名は無関係。標準ライブラリ
      はディレクトリ分けしない(Python式)
  (3) ライブラリファイル名とクラス名には強い相関がある。ディ
      レクトリ分けする(maillib 0.3.0式)

などが考えられます。Perl5式はクラス名とファイル名が一致して
なかなかよろしいのですが、現状のRubyでは対応できない部分があ
りそうです(useがないし)。

いろいろ考えたんですが、拡張ライブラリはすくなくとも現状では
階層ディレクトリに対応してませんから、Python式に近いのがよろ
しいのではないでしょうかねえ。

ということで、いまさらですが以下の2案を提案します。


(1) ディレクトリを使わないもの

  ファイル

     netsession.rb
     smtp.rb
     pop3.rb

  クラス
     Net::Session
     Net::SMTP
     Net::POP3

(1) 使うもの

  ファイル

     net/session.rb
     net/smtp.rb
     net/pop3.rb

  クラス
     Net::Session
     Net::SMTP
     Net::POP3

どんなでしょう?

|# どなたか英語ドキュメントの校正をしていただけるとうれしいです。
|# 今のままだと絶対に意味が通らない自信があります ^^;;

えーと、ちらと見てみた限りではあまり問題はなさそうに思ったの
ですが、ruby-talk当たりで添削してもらいますか?

[悪いニュース]

私のマシンがまた壊れました。代替機のディスクの調子も悪いので、
なかなか面倒なことになりそうです。

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