[#47364] nokogiri-1.4.3.1のBus Errorについて — Tomohiko Hayashi <hayashi-t@...>
こんにちは!
6 messages
2010/09/04
[#47369] cgiのパラメータについて — nonta <nonta@...>
野田と申します。
9 messages
2010/09/06
[#47391] ruby-1.9.2 で Net::Telnet の close ができない — HAMANO Kiyoto <kiyoto@...>
濱野と申します。
9 messages
2010/09/10
[#47392] Re: ruby-1.9.2 で Net::Telnet の close ができない
— Kazuhiro NISHIYAMA <zn@...>
2010/09/10
西山和広です。
[#47404] Re: ruby-1.9.2 で Net::Telnet の close ができない
— HAMANO Kiyoto <kiyoto@...>
2010/09/13
西山さん、
[#47408] Re: ruby-1.9.2 で Net::Telnet の close ができない
— Kazuhiro NISHIYAMA <zn@...>
2010/09/15
西山和広です。
[#47396] Rubytterとスレッドについて — "Jun'ya Shimoda" <jun-shimo@...>
下田と申します。
5 messages
2010/09/11
[#47413] undefined symbol: rb_eThreadErrorについて — Shusaku Yokota <blueberrycandle@...>
はじめまして、†しゅう†といいます。
8 messages
2010/09/16
[#47421] Re: undefined symbol: rb_eThreadErrorについて
— Tsutomu Kotake <t-kotake@...>
2010/09/17
こたけと申します。
[#47414] <=>の意味は? — "T.Soejima" <clev@...2.so-net.ne.jp>
そえじま@勉強中です。
37 messages
2010/09/17
[#47420] Re: <=>の意味は?
— 藤川浩明 <fhir0aki3@...>
2010/09/17
他の方がすでに解答されているみたいですが、一応僕なりの答えを書いてみます。僕もRuby初心者なのではっきりとは言えないんですが・・・。
[#47422] Re: <=>の意味は?
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/09/17
そえじま@勉強中です。
[#47424] Re: <=>の意味は?
— "Y. NOBUOKA" <nobuoka@...>
2010/09/17
信岡です。
[#47426] Re: <=>の意味は?
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/09/17
そえじま@勉強中です。
[#47428] Re: <=>の意味は?
— "Y. NOBUOKA" <nobuoka@...>
2010/09/17
そえじまさん
[#47429] Re: <=>の意味は?
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/09/17
そえじま@勉強中です。
[#47433] Re: <=>の意味は?
— 藤川浩明 <fhir0aki3@...>
2010/09/18
色々返答したいと思いましたが、時間が無いので「OOPの何がいいのか、いまいち分かっておりません。」の部分にのみ解答させていただきます。
[#47435] Re: <=>の意味は?
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/09/18
そえじま@勉強中です。
[#47438] Re: <=>の意味は?
— masayoshi takahashi <maki@...>
2010/09/18
高橋征義です。『たのしいRuby』の著者の片割れの方から来ました。
[#47441] Re: <=>の意味は?
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/09/18
そえじま@勉強中です。
[#47444] Re: <=>の意味は?
— arton <artonx@...>
2010/09/18
artonです。
[#47498] Bignumの変換のタイミングについて — "Jun'ya Shimoda" <jun-shimo@...>
下田と申します。お世話になっております。
5 messages
2010/09/30
[ruby-list:47377] Re: cgiのパラメータについて
From:
Fujioka <fuj@...>
Date:
2010-09-07 12:08:16 UTC
List:
ruby-list #47377
藤岡です。
>> 作ったのが私じゃないので確定はできないのですが、
>> バグでしょうね。以下のパッチでなおります。
>>
>> echo "date=20100907" | ruby-1.8.7-p302 -rcgi -e 'p CGI.new["date"][4,2]'
>> "09"
>
> まあ、直ることは直りますが、そもそもプログラマーの意図を正確に
> 図ることが難しいので、ちゃんと動いてしまうと逆に危うい気もします。
> cgi["date"][4..5] と cgi["date"][4,2] の結果は違うわけですよね。
>
> 1.8でも1.9でも警告が出ず同じ結果を得られる方法を推奨する方向に
> 持っていけないでしょうか。
>
とりあえず、[]のオプションがIntegerを継承している場合だけ
warningを出して、親切に値を返すようにしてみました。
cgi["date"]が配列を返すのは1.6までで、1.8からはStringを
返すようになったのが仕様だと思います。
多分、移行を促すようにwarningを出すように細工をしたと思うので、
1.8ではwarningを出すというのがいいんじゃないかと思います。
1.8.7あたりからは1.9への移行の準備という意味合いもありますので、
warningを出す仕組みを削ってしまうのも手ではありますが。
% echo "date=20100907" | ruby-1.8.7-p302 -rcgi -e 'p CGI.new["date"][0]'
-e:1:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use
cgi.params['key']
"20100907"
% echo "date=20100907" | ruby-1.8.7-p302 -rcgi -e 'p CGI.new["date"][1]'
-e:1:CAUTION! cgi['key'] == cgi.params['key'][0]; if want Array, use
cgi.params['key']
nil
% echo "date=20100907" | ruby-1.8.7-p302 -rcgi -e 'p CGI.new["date"][4..5]'
"09"
% echo "date=20100907" | ruby-1.8.7-p302 -rcgi -e 'p CGI.new["date"][4,2]'
"09"
diff --git a/cgi.rb b/cgi.rb
index 1b263d4..86d1ebf 100644
--- a/cgi.rb
+++ b/cgi.rb
@@ -1149,11 +1149,11 @@ class CGI
@params = params
end
def [](idx, *args)
- if args.size == 0
+ if args.size == 0 && idx.is_a?(Integer)
warn "#{caller(1)[0]}:CAUTION! cgi['key'] ==
cgi.params['key'][0]; if want Array, use cgi.params['key']"
@params[idx]
else
- super[idx,*args]
+ super
end
end
def first
# あちゃー、lastがlastになっていないというのも見つけちゃった。
# どうすっか。。。