From: Koji Arai Date: 2002-02-18T02:45:00+09:00 Subject: [ruby-dev:15909] 1.6 の寿命 (Re: Re: ERb) 新井です。 In message "[ruby-dev:15906] Re: ERb" on Sun, 17 Feb 2002 23:05:00 +0900, matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > まつもと ゆきひろです > どうせ1.6の寿命はわずかなので後者の方がお勧めかな。 1.6 の寿命ってあとどのくらいなんでしょうね?1.8 は今の 1.7 がそのまま繰り上がるんだと思いますが、1.7 で挙動が変更されて るけどあまり議論されてない機能の行方が気になります。 思い付くものとして * $stdout, $stderr 等への代入 1.6 の挙動が良いのではないかと思います。 1.7 はちょっと見は直観にやさしいのですが、結局挙動が複雑に なってるだけではないかと思うので。 1.6 の挙動に対してそれほど文句が多いわけではないし(どちらかと 言えばドキュメントの問題ではないかと) * while の戻り値 1.7 では while なんかは(break による戻り値の指定を除けば)、 最後に実行した条件式の値を返してますが、これだと結局 false か nil しか返さないことになります。これなら while の戻り値 は nil 固定にした方が良くないでしょうか?そうした方が 1.6 との互換性も保持されるんではないかと思います。 def foo while false end end p foo ruby 1.6.6 (2002-02-14) [i586-linux] nil ruby 1.7.2 (2002-02-14) [i586-linux] false ループで終るメソッドはたくさんあるはずで、ループを 自然に抜けたときに nil を返すことを前提にしたスクリプトって 以外とあったりしないかなあ?っと思ってるんですが。 他にあるかな? -- 新井康司 (Koji Arai)