原です。

戻ってきました。たった4日留守にしただけで浦島太郎気分。


> 後藤です

>  > ポリモルフィズムを考慮するとはどういう意味でしょうか?
> 
> 日本語めちゃくちゃでごめんなさいです。
> 仮に、URL.open(urlspec) で作られるインスタンスのメソッドを
> read(), readline(), readlines(), close(), info() の5つだと
> します。大事なのは読みと状態を知ることですね。
> でも urlspec で決まるスキームによっては、そのプロトコルの
> 違いから特化されたメソッドも欲しいわけで、そのような
> スキーム間の差異をどうやって処理するかが気になります。
> これを全部やっつけるような少数の汎用なメソッドを多態で
> 作り込むか、それとも雑関数の集まりを URL.ftp_TYPE(typespec) 
> みたいな命名法で埋め込んでしまうかどうかです。

そうそう、そこが悩むところなんですよね。


> もし、python に習うなら URL は細かいことは関知せず、
> そういったものは個別にクラスを用意してそいつらに任せると
> いうことになります。 やっぱ、こっちがいいのかなぁ。 

その方が部分部分を作りやすいですね。


> さらに仮に python 流に簡単なインターフェイスだけ作るにしても
> 例えば  URL.open("ftp://...") するためには username と、 
> passwd をあらかじめ設定しないといけないといったライブラリの
> ユーザが知るべきマナーも結構ありそうです。

http でもユーザー認証とか修正日情報とか、リクエスト前/同時に送
るべき情報がありまね。set_option 系のメソッド実行してから、open 
するという形式にする手もありますね。


> そうですね。 僕も HTML パーサーモジュールが欲しいなぁと
> 思ってますが、どれくらい SGML な部分を作るべきか迷ってます。
> DTD を読めるようにしとかないと苦労しそうなのですが、
> HTML 2.0 DTD の範囲では SGML のホントにちょっとしか使ってないし。
> 手元に ISO の仕様書がないのであんまり分からないし。

やはり DTD から始めてやっと HTML が読めるというのは、凝り過ぎ
のような気がする。最初は、簡単な正規表現で捕まえられる程度の
機能でいいのでは?


> 個人的にはいろんな引数の善し悪しを調べてくれるものも含んだ
>  RFC 番号が名前についたようなライブラリもあると後の開発には
> 便利な気もします。 これは欲張りすぎですかねぇ。

問題は誰がその地味な仕事をしてくれるか?ですね。(^_^)

さしあたって実用になるものを作るか、きちんと定義に従った
ものを作るか、それも大きな問題だなあ。

ちょっとしたアプリケーションなのに、まず巨大なライブラリ
を require してからはじめて動き出す、、、というのもさえな
いですしねえ。


>  > ライブラリの規模、その上でどんなアプリケーションを作りたい
>  > かといのもある程度決め手おいた方がいいですかね。
> 
> そうかも知れませんね。
> 代表的なスキームとアプリケーションの規模を考えとくのは
> 大事そうです。

ホームページ1枚(とそれに張りついているSRC)を取ってくる urlget.rb
と、簡単なミラーコマンド mirror.rb ぐらいをとりあえずの目標にした
らどうでしょう。