From: Kazuhiro NISHIYAMA Date: 2002-12-27T20:41:45+09:00 Subject: [ruby-list:36852] cgi.rb (Re: ANN: ruby 1.6.8) 西山和広です。 In <20021226192342.GA32347%wakou@ruby-lang.org> On Fri, 27 Dec 2002 04:23:44 +0900 Wakou Aoyama wrote: > > lib/cgi の方は、cgi['key'] が cgi['key'][0] 相当になり、[0] を省略して > > も OK となります。少し互換性対応をしてあるので、多くの場合は変更の影響 > > は無いと思われますが、完全互換では無いので、利用方法によっては非互換が > > 発生する可能性はあります。 > > ruby 1.6 > value = cgi['key'] # ["value"] > value, = cgi['key'] # 多重代入の作用により "value" > value = cgi['key'][0] # ["value"][0] ==> "value" > value = cgi['key'].first # ["value"].first ==> "value" > > ruby 1.8 > value = cgi['key'] # "value" (仕様変更) > value, = cgi['key'] # "value" > value = cgi['key'][0] # "value" (移行措置) > value = cgi['key'].first # "value" (移行措置) > > ruby 2.0? > value = cgi['key'] # "value" > value, = cgi['key'] # "value" > value = cgi['key'][0] # "value"[0] ==> 118 > value = cgi['key'].first # "value".first ==> NoMethodError > > 1.6 の cgi['key'] と同じく配列が必要な場合には、cgi.params['key'] は引 > 続きそのまま利用できますので、こちらをお使い下さい。 value, = cgi['key'] の場合に * value が Marshal.dump 出来ない * value[0] に互換性がない などの問題があるので、value.to_aryを追加してほしいです。 retrieving revision 1.44 diff -u -p -1 -r1.44 cgi.rb --- cgi.rb 26 Dec 2002 17:48:29 -0000 1.44 +++ cgi.rb 27 Dec 2002 11:34:39 -0000 @@ -945,2 +945,5 @@ convert string charset, and set language value = @params[key][0] + def value.to_ary + [self.dup] + end def value.[](key) -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)