『だらだら日記−−』の読者,まつもと ゆきひろです
In message "[ruby-list:2439] url escape"
on 97/03/27, GOTO Kentaro <gotoken / math.hokudai.ac.jp> 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がオブジェクトになるか単な
る機能の集まりであるかで,判断してください.
まつもと ゆきひろ /:|)