原です。 戻ってきました。たった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 ぐらいをとりあえずの目標にした らどうでしょう。