はじめまして、鈴木です。 山下さんの疑問とは別の事かもしれませんが、試していたら気が付いたの で便乗質問です。 In message "[ruby-list:30234] Cookie について" on 2001/06/14 18:59:50, "Toshiaki YAMASHITA" <yamashita / woo.ne.jp> wrote: > 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 が同一のオブジェクトを指している様に見え ますが、そういうものなのでしょうか? Coolie の値を得る時に、例えば以下の様に必ず空配列に加える、 c_num = [] + cgi.cookies['c_num'] c_no = [] + cgi.cookies['c_no'] あるいは、Cookie が存在しない場合は明示的(?)に空配列を作る、 c_num = cgi.cookies['c_num'].empty? ? [] : cgi.cookies['c_num'] c_no = cgi.cookies['c_no'].empty? ? [] : cgi.cookies['c_no'] 等で、 c_num << num c_no << no p c_num => ["1"] p c_no => ["2"] と、一応期待した結果が得られます。 # Cookie はあくまでもセッション管理だけに用いて、データの保持はサー # バ側でやる方が一般的、且つ確実だとは思いますが。 -- loup <loup / fj8.so-net.ne.jp>