新井です。

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)