From: Okada Jun Date: 2000-11-17T16:32:50+09:00 Subject: [ruby-dev:11579] Re: uri 岡田です。 >In article 11514, <200011141448.XAA04779@be-in.org> >O> 1) 空pathは常に'/'に正規化されるべきではないか? > >話としてはわからんでもないのですが, >そのようなケースではそれ用の子供を作って対処してもらうのが >いいかなあと思っています. うーむ。 この手のURIクラスは net/ほげ クラスと一緒に使う局面が多いわけで、 間違いの起きにくい方向に倒して置く事は割と重要かと思います。 URI::HTTPかNet::HTTPかどっちででもいいけど、scheme毎に対処 しといた方がよいのではないかと思います。 # http.get '' が http.get '/' と解釈されるような実装とか? # あと、(URI.parse 'http://hoge') + 'index.html' がエラーになるのは # バグですよね? >O> 2) 空URIを作って中身を埋めてURL生成してみたりとかしたい。 >こっちはできます. >というか, できるようにするつもりで実装途中ですね. > URI::FTP.new2('user', 'passwd', 'host', nil, '/path') >とか. HTTP はまだ書いてないですが, 同じような感じのを作ろうとしてたのでした. お、素晴しい。期待してます。 # 引数指定はhashでやるとどうでしょう? # URI::FTP.new2 ('user' => user, 'passwd' => passwd, 'host' => host) とか # この手の引数の順番覚えるの割と苦手なもので。 で、コンストラクタでこういう風に生成できるのは嬉しいんですが、 出来れば個別の要素を後から設定できるメソッドも公開されてると嬉しいです。 (今はset_ほげメソッドがprotectedになってるんでしたっけ)。 host, path を固定して、queryだけを変えたURLを連続して生成するなんて 処理をしてるんですが、こんなイメージで出来たら嬉しいかなぁ、と。 url = URI::HTTP.new 'host', nil, 'path' queries.each do |query| url.query = query p url.to_s end -- ゆん(岡田 潤) yun@be-in.org http://www.be-in.org/~yun/