From: matz@... (Yukihiro Matsumoto) Date: 1997-03-27T12:22:39+09:00 Subject: [ruby-list:2444] Re: url escape 『だらだら日記−−』の読者,まつもと ゆきひろです In message "[ruby-list:2439] url escape" on 97/03/27, GOTO Kentaro writes: | |どシロウトの後藤です. | |python のWWWライブラリを ruby にチマチマ移そうとしてます. |とりあえず練習に URL のエスケープ関数を書いてみたので, |誰か添削してもらえませんか? 40行ほどなので添付しました. python風ですね.cgi-lib.rbがperl風なのと対照的です. あえていえばquoteのsafeのあたりとかで正規表現を使ったり, sprintfの代わりにpackを使ったりするのがruby風なんでしょうか. それとquoteする文字列が短い場合には,一度配列に放り込んで joinするより文字列に追加して行く方が速いかも. あと unquote はgsubをイテレータとして使った方が良いかも. |それと質問なのですが近い将来この urllib.rb に | p = URL.open("http://www.caelum.co.jp/~matz/ruby/) | page = p.readlines() | p.close() |のようなのも付け加えたいのですが, その場合, |この場合 URL は module でなくて class にすべきなのでしょうか? |URL.quote しか使わないかも知れないのにクラスが初期化されるのは |モッタイナイので module にしようかと思っているのです. |が, それは勘違いのような気がしてるので. クラスの初期化とモジュールの初期化ではコストは変わりませんか ら,そういう心配は要りません.URLがオブジェクトになるか単な る機能の集まりであるかで,判断してください. まつもと ゆきひろ /:|)