高橋征義です。 loup <loup / fj8.so-net.ne.jp>さん: > > c_num=cgi.cookies['c_num'] > > c_no=cgi.cookies['c_no'] > > Cookie に 'c_num' と 'c_no' が存在しない場合(ショッピングの開始時 > とか)は [] が返って来ますが、例えば num = "1", no = "2" とすると、 > > > c_num << num > > c_no << no > > p c_num => ["1", "2"] > p c_no => ["1", "2"] > > になります。c_num と c_no が同一のオブジェクトを指している様に見え > ますが、そういうものなのでしょうか? 「そういうもの」では困るような。ということで cgi.rb(in Ruby 1.6.4) を見てみたところ、 cookies = Hash.new([]) ってやってますね……これが問題でしょう。こういう書き方をすると、 存在しない名前のcookieを取得しようとすると、全部同じ配列オブジェクト になってしまいます。 # これ以外にも、Hash.new([]) を使っているのはcgi.rbに3個所ほど # ありますね。むむむ。 高橋征義 (TAKAHASHI Masayoshi) E-mail: maki / open-news.com