[#17615] substitution at when-clause — Takaaki Tateishi <ttate@...>

立石です.

47 messages 2002/07/01
[#17619] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/01

まつもと ゆきひろです

[#17621] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

At Tue, 2 Jul 2002 02:54:01 +0900,

[#17622] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17624] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

At Tue, 2 Jul 2002 13:30:17 +0900,

[#17627] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17630] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

立石です.

[#17631] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17635] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/03

立石です.

[#17639] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/03

まつもと ゆきひろです

[#17644] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17645] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/03

まつもと ゆきひろです

[#17647] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17649] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/03

At Wed, 3 Jul 2002 17:48:58 +0900,

[#17651] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17730] Re: self in block — masaki <GEC01122@...>

16 messages 2002/07/20

[#17764] Re: self in block — masaki <GEC01122@...>

31 messages 2002/07/22
[#17765] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17768] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027383423.558649.31176.nullmailer@picachu.netlab.jp>,

[#17769] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17770] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027404202.545188.1283.nullmailer@picachu.netlab.jp>,

[#17771] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17772] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027406979.880878.1358.nullmailer@picachu.netlab.jp>,

[#17832] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — nobu.nakada@...

なかだです。

17 messages 2002/07/26
[#17835] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — matz@... (Yukihiro Matsumoto) 2002/07/26

まつもと ゆきひろです

[#17837] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — nobu.nakada@... 2002/07/26

なかだです。

[#17842] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — matz@... (Yukihiro Matsumoto) 2002/07/26

まつもと ゆきひろです

[#17886] line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/02

なかだです。

[#17893] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — matz@... (Yukihiro Matsumoto) 2002/08/03

まつもと ゆきひろです

[#17897] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/03

なかだです。

[#17973] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/11

なかだです。

[ruby-dev:17625] Re: Getting CGI arguments as scalars

From: Wakou Aoyama <wakou@...>
Date: 2002-07-02 15:05:38 UTC
List: ruby-dev #17625
青山です。

ruby-talk の方で cgi['name'] が Array を返す件についての発言がまた出て
いますし、この件は String に変更という事で決定と思って大丈夫そうなので、
その時期と移行方法についてご相談を。

通常、Ruby においては、非互換の変更を行う場合、まずワーニングを出すよ
うにして、その次に変更を行う、という流れがとられています。

しかし、今回の場合、メソッド名は同じで、また、利用率が高いと思われるの
で、ワーニングを出すようにすると、ちょっとうるさいかもしれない、という
懸念があります。

すると、ワーニング無しで、下位互換用に、[], first を特異メソッドで用意
する、というのがいいかな、という気もします。

value = cgi['name'][0]     # value == "value"
value = cgi['name'].first  # value == "value"
value, = cgi['name']       # value == "value"

だいたい、この3パターンに対応していれば、ほとんど問題は無いように思わ
れますので。なお、String#[], String#first の利用率は少なそうだ、という
のがこの考えの前提になりますが。

一方、

value = cgi['name']

これが String を返すようになるわけですが、こちらに関しては、あまり利用
者はいないであろう、という事と、Array として欲しい場合には、cgi.params
の利用を推奨する、という事で、まあ、大丈夫なのではないかな、という気が
しています。

特異メソッドでの対応というのは、危険性はあるので、本来は避けるべきです
が、あまりに大きな変更なので、移行措置を取らないわけにはいかないと思わ
れますから、しばらくはこのような感じではいかがでしょうか?

あるいは、他に良さそうなご意見などありましたら、お聞かせ願います。

また、もう1つ、net/telnet.rb の print メソッドですが、1.6 の方で、ずっ
とワーニングは出すようにしていましたので、こちらも、そろそろ変更を加え
たいと思います。

> === SEND STRING
> 
>   host.print("string")
>   host.puts("string")
> 
> Telnet#puts() adds "\n" to the last of "string".
> 
> WARNING: Telnet#print() NOT adds "\n" to the last of "string", in the future.

(あまり読まれていないかもしれませんが)ドキュメントにもこのように記述し
ていましたし、この最後の行のワーニングは、-w オプションを指定した場合
には、実行時にも出るようにしていましたので。

こちらもなかなか大きな変更ではあるのですが、1.6 ですでに宣言を行ってい
た事から、1.7(1.8) のタイミングでも良いかな、という気がしていますが、
いかがでしょうか?

安定版で1つあけて、2.0 でという気もしていましたが、以前よりリリースの
間隔が長くなっているようなので、1.8 でやってしまった方が良いかな、と。


-- 
青山 和光 Wakou Aoyama  <wakou@ruby-lang.org>

In This Thread

Prev Next