From: matz@... (Yukihiro Matsumoto) Date: 2003-10-28T23:35:04+09:00 Subject: [ruby-list:38693] Re: cgi.params のデフォルト値 まつもと ゆきひろです In message "[ruby-list:38692] Re: cgi.params のデフォルト値" on 03/10/28, TAKAISHI Hayato writes: |> def CGI::parse(query) |> params = Hash.new([]) |> になってますが |> params = Hash.new{|hash,key|hash[key]=[]} |> にすべきでは? | |このようにすると、 | |params = Hash.new{|hash,key|hash[key]=[]} |p params.has_key?('hoge') # => false |hoge, = params['hoge'] |p params.has_key?('hoge') # => true | |と、元は未定義であったものが、参照しただけで定義されてしまう |ようです。 そうですね。 |各フィールドの値をローカル変数に代入してから、入力フォームに |存在しているフィールドのリストを得ようとするとはまりそうです。 どっちがより深刻な問題ですかねえ。両方を満足させることはでき ないわけで。