青山です。 On Wed, 1 Sep 1999 18:57:43 +0900, hisanori / sitc.toshiba.co.jp wrote: > "name1"に関するデータがなかったら、cgi["name1"] には [nil] を入れてお > く、ってのはどうかな… なんて考えてたりします。もちろんデータの名前の > 一覧(["name1",...])は先に渡しておかなければなりませんが。 なるほど。良さそうですね。[nil] ではなく、[] ではどうでしょう。 $ ruby -e 'cgi = Hash.new([]); p cgi["name1"][0]' nil $ ruby -e 'cgi = Hash.new([nil]); p cgi["name1"][0]' nil $ ruby -e 'cgi = Hash.new([]); cgi["name1"].each{|i| p i }' $ ruby -e 'cgi = Hash.new([nil]); cgi["name1"].each{|i| p i }' nil cgi["name1"][0] へのアクセスは同じですが、"name1" に関するデータが無かっ た場合、each 内を実行しないので、便利かもしれません。 これで has_key? のチェックが不要になるかもしれませんね。 -- 青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>