[#36686] 1.1 < 61.1 - 60.0 — Shin-ichiro HARA <sinara@...>

原です。

19 messages 2002/12/06

[#36770] www.ruby-lang.orgリニューアル準備のお知らせ — TADA Tadashi <sho@...>

ruby-lang.orgのwebmasterチームでは、タイムリーな情報提供と使いやすい

11 messages 2002/12/16

[ruby-list:36852] cgi.rb (Re: ANN: ruby 1.6.8)

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2002-12-27 11:41:45 UTC
List: ruby-list #36852
西山和広です。

In <20021226192342.GA32347%wakou@ruby-lang.org>
On Fri, 27 Dec 2002 04:23:44 +0900
Wakou Aoyama <wakou@ruby-lang.org> 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)


In This Thread