[#44189] [ANN] Rails勉強会@東京 第24回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2007/11/08
[#44190] Ruby/KAKASIのインストールに失敗する — <boku.charhan@...>
お忙しいところ失礼します、WINDOWS XPを使っているんですが
8 messages
2007/11/08
[#44197] Re: Ruby/KAKASIのインストールに失敗する
— Nobuyoshi Nakada <nobu@...>
2007/11/09
なかだです。
[#44192] [ANN]Ruby勉強会@新潟 第1回のお知らせ — "Masatoshi Itagaki" <masatoshi@...>
各地でRuby勉強会が開催されるようになっていますが、新潟でも開催しようと
6 messages
2007/11/08
[#44207] REXML で UTF16 のファイルが読み込めない — <rook401@...>
REXML で UTF16 のファイルを読み込もうとするとエラーになります。
5 messages
2007/11/12
[#44208] はじめまして — "Ohto, Yasunori" <Yasunori.Ohto@...>
はじめまして
8 messages
2007/11/12
[#44224] WinXPでのCursesプログラム — "Masao Ochi" <ochi@...>
初めて投稿させていただきます。越智と申します。
5 messages
2007/11/15
[#44237] Float を利用するRubyプログラム — SASADA Koichi <ko1@...>
ささだです.
16 messages
2007/11/17
[#44241] Re: Float を利用するRubyプログラム
— SASADA Koichi <ko1@...>
2007/11/19
ささだです.
[#44245] Re: Float を利用する Ruby プログラム
— NISHIMATSU Takeshi <t_nissie@...>
2007/11/19
西松と申します。
[#44246] 数学関数が足りない (Re: Re: Float を利用する Ruby プログラム)
— Nobuyoshi Nakada <nobu@...>
2007/11/19
なかだです。
[#44250] Re: 数学関数が足りない (Re: Re: Float を利用する Ruby プログラム)
— NISHIMATSU Takeshi <t_nissie@...>
2007/11/19
西松です。
[#44268] Complex#cproj patch for ruby-1.9/lib/complex.rb
— NISHIMATSU Takeshi <t_nissie@...>
2007/11/21
西松と申します。
[#44263] RUBY FORUM 2008のお知らせ — "TAISEI OKAZAKI" <okazaki@...>
度々のお知らせ失礼いたします。
4 messages
2007/11/21
[#44286] TmailをgemでWindowsにインストールしようとするとエラーになる — "garyo hosu" <garyohosu@...>
いつもお世話になっております。garyoです。
7 messages
2007/11/30
[#44287] Re: TmailをgemでWindowsにインストールしようとするとエラーになる
— rubikitch@...
2007/11/30
From: "garyo hosu" <garyohosu@gmail.com>
[ruby-list:44276] [Q] cgi.rbについての質問
From:
"Makoto Kuwata" <kwa@...>
Date:
2007-11-25 15:09:10 UTC
List:
ruby-list #44276
桑田といいます。
cgi.rbについて質問です。
(1) cgi.rb のテストスクリプトはありますか。
1.8.6のソースには見当たりませんでした。
(2) CGI::HtmlExtensionを別ファイルに分離する計画はありますか。
CGIアプリだとcgi.rbの読み込みに結構時間がかかるのですが、
HtmlExtensionを消すと読み込み時間が半分くらいになりました。
(3) 2268行目の CGI::initialize() で extend QueryExtension を
実行していますが、あらかじめ include しておくのではなく、
毎回 extend するのはなぜでしょうか。
ざっと見た限りだと、include でも問題ないように見えました。
(4) CGI::parse() は以下のように定義されてますが(895行目)、
def CGI::parse(query)
params = Hash.new([].freeze)
query.split(/[&;]/n).each do |pairs|
key, value = pairs.split('=',2).collect{|v| CGI::unescape(v) }
if params.has_key?(key)
params[key].push(value)
else
params[key] = [value]
end
end
params
end
これを次のように書き換えたとしても大丈夫でしょうか。
問題は、freezeした配列を使い回していいのかという点です。
FROZEN_ARRAY = [].freeze
def CGI::parse(query)
params = {}
query.split(/[&;]/n).each do |pairs|
key, value = pairs.split('=',2)
(params[CGI::unescape(key)] ||= []) << CGI::unescape(value)
end
params.default = FROZEN_ARRAY
params
end
以上です。よろしくお願いします。
--
makoto kuwata