原です。

> まつもと ゆきひろです

> |しかし、あるクラスを拡張しようとしたとき、サブクラスを作るか、
> |module を作って include するかは、未だに悩みます。
> 
> あるクラスに追加する機能が,そのクラスに固有なものであればサ
> ブクラス,いろいろなクラスに追加できるようなものであればモジュー
> ル,というのがお勧めです.

なるほど。こういうことを作者にはっきり言っていただくと、あり
がたいですね。指針になる。セントラルドグマ:-)としてユーザー
ズガイドかグロサリに載せておいたらいかがでしょう。


> もともとモジュールってのは単純継承の枠を越えて機能の共有を行
> うためのものですから,そういう必要がなければモジュール化する
> 必要はないと思います.戦略としてはとりあえずサブクラスで作っ
> ておいて,使い回せそうならモジュールにするってのが私のやり方
> ですね.

ふむふむ。それとは違ってしまうけれどこういう使い方はどうでしょ
う。

一回しか使わなくても一連のコマンドの集まりをまとめて関数/メッ
ソッドにしていまいますよね。それと同じで、一回しか使わないのに
一括りがほしい、あるいは一括りに名前を与えたいがためにモジュー
ルにしてしまう、、、というもの。

既に作ったクラスをちょっと変形したい、あるいはちょっとだけ拡張
したいがためにパッチの様に使う。(まあこれは同じクラスのメソッ
ドの再定義でもいいんだけど。)


> |後、include するか extend するかも悩むなあ。
> 
> いちおうrubyはクラスベースの言語ですから,extendよりは
> includeの方がよろしいのでは,と思いますです,はい.なんか,
> extendとか特異メソッドとか大好きな人もいるみたいで,それはそ
> れで構わないとは思うんですけど.

某I塚さんですね。(^_^) 私も最初あまり使わなかったんですが、
I塚さんが良く使われるので私も影響を受けているのです。一辺
たずねてみたかったのですが、どうして 特異メソッドと extend
を多用なさるのでしょう。> 石塚さん


> 原さんと後藤さんを中心にして『URLライブラリの仕様について熱
> く語る会』(略称:あすなろライブラリの会(一部に意味明瞭))を発
> 足させましょう.なあに,実装のことは心配しなくても,仕様を決
> めるだけで誰かが作ってくれますよ(私か?).

いいですね。perl5 のライブラリ libwww-perl を見るとあまりに
立派過ぎてこれを作るのは容易ではないなと暗くなってしまうの
ですが、python(for Win)のを今初めて見たのですが、へびのア
イコンの行列で華やかというか楽しげです。こんな感じならやる
気も起ころうというもの。(「見た」のはアイコンだけだったり
して。^^;)


> 私は今は壁の中にいるので,あんまり「いんたーねっと」していな
> いんですけど,そのうち状況が変わりそうなので,その時にはruby
> のURLライブラリやCGIライブラリは是非欲しいです.

おっと、やっとその気を出して来ていただいて嬉しいです。(^_^)