原です。 > どシロウトの後藤です. > > python のWWWライブラリを ruby にチマチマ移そうとしてます. > とりあえず練習に URL のエスケープ関数を書いてみたので, > 誰か添削してもらえませんか? 40行ほどなので添付しました. ruby だとこんな感じでいけますね。 def quote(s, *extra) s.gsub(/[^A-Za-z0-9_,.\-#{Regexp.quote(extra.join)}]/) { "%#{$&.unpack('H2')}" } end def unquote(s) s.gsub(/%([0-9a-fA-F][0-9a-fA-F])/) { [$1].pack("H2") } end で、気がついたんですが、unpack の調子が悪いみたいです。 p "a".unpack("H2") # ==> ["61\000"] #どうもメールが来ないと思ったらネットワークが死んでいました。