SQLの窓

2010年01月06日


Ruby : メソッド定義で URLエンコード

PHP で比較テストしています

特別な理由が無ければ、URI.escape で問題無いと思いますが、
ざっと使って以下のようになっていました
■スペースが%20 に変換される 
■/がそのまま
そこで、正規表現で置換しています。
( 他の文字はテストしていませんので、正式なテストではありません )

def は、メソッド定義でトップレベルでは「関数」のようなものですが、
単純なインタープリタのようなので、C言語と同じく前方参照でした。定義してから
でないと実行できません。

gsub は全て置き換える処理で、sub だと一つだけになります。
他の言語での /パターン/g と書かれる事のある処理ですね、
(ちょっと解りにくい)


#!/usr/local/bin/ruby
print "Content-type: text/html; Charset=euc-jp\n\n"

require 'uri'

a = "日本/語A B /表示%"

print a + "<br>"

#トップレベルならばどこからでも呼べるメソッド
#このようなメソッドは結果として他の言語における
#「関数」のように使えます
# ■ 但し、前方参照
def urlencode(s)

	s = s.gsub(/ /,'+')
	s = URI.escape(s)
	s = s.gsub(/\//,'%2F')
	return s

end

print urlencode(a) + "<br>"





タグ:ruby
【Rubyの最新記事】
posted by lightbox at 2010-01-06 23:40 | Ruby | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり