なひです. > From: wakou / fsinet.or.jp [mailto:wakou / fsinet.or.jp] > Sent: Friday, September 03, 1999 3:09 AM > > (ii) foo.cgi?b=&b=のとき > > 5. cgi[ "a" ] == [] > > 6. cgi[ "b" ] == [ "", "" ] > > 7. cgi.has_key?( "a" ) == false > > 8. cgi.has_key?( "b" ) == true > > > > です.あれ,これだと現在のままかな...5.だけ変更になるんですかね. > > そうです。5. が現在は cgi[ "a" ] == nil で、他(1-4も)は同じです。 お騒がせしました.なひも上記案に賛成です.^^; > > そうですね.なひとしては, > > > > 「ない」というのと「あるけど空文字列」を分けたい, > > > > というのが最初の動機ですので,環境変数を使うのに問題がなければ, > > そちらを利用して実現したいと思います. > > > > 「Rubyで楽しくプログラミング」という観点からは, > > 現仕様の方が便利かもしれませんね.なひは青山さんの判断に従いますです. > > とりあえず(?)、無い場合を特別扱いする場合も思い付かず、また、その検出 > 手段もあるという事で、現状ままがいいかもしれませんね。 例えば相手のUser-Agent(の管理者)が, うっかりFromの後ろに設定すべき値を空のままにしてしまった... とかくらい? まぁレアケースですし, 「CGIの知ったことじゃない」とも言えるかもしれません.^^; > 追加。content_length, server_port は多くの場合数値として使われると思わ > れるので、Integer(ENV["CONTENT_LENGTH"]) のようにするという提案もあり > ますが、いかがでしょうか? 文字列として使いたい場合には to_s 等とする > 事にはなりますが。 なひはStringのままでいいと思います.今後新たなヘッダが増えるたびに, 数値のみフィールドかどうか判断して追加していくの, cgi.rb側としては大変じゃないでしょうか... またこれまでの「プログラマは要らん仮定をしないように」とも思っているので, 「一様に文字列」に一票です.