Ruby1.8.7の新機能

Ruby 1.8.7ではRuby 1.9からのbackportがとても多い。つまり、Ruby 1.9のあのメソッドがRuby 1.8でも使えるようになったということだ!!

http://d.hatena.ne.jp/rubikitch/20080508/ruby187

これは凄い!まず何より,1.8でブロックがブロックを受け取れるようになるのが嬉しいなぁ.
あとEnumerableのメソッドが,ブロック付けないとEnumerator返すのが面白そう.
String#linesでEnumeratorが得られるのも楽しそう.
Object#tapの発想はなかった.あちこちで使えそう.
あとはSymbol#to_procが組み込みになったとかか.
でも,(ここから1.9の話)

Ruby 1.9の文字列はもはやEnumerableではないのだ。

http://d.hatena.ne.jp/rubikitch/20080508/ruby187

これは知らなかったなぁ(そもそも1.9の変更点は殆ど知らないけど).Enumerableでなくす理由ってなんなんだろう.Enumerableであったほうが便利だろうに.それに,String#linesとかでEnumeratorが得られるなら,それだけで意味的にも殆どEnumerableであるのと同じような気がする.
そういうもんじゃないのかな?
まあそんなことより,?cやString#[]が文字列を返すようになった理由が一番解らない.今更リテラルの意味を変更するなんてどういうことなんだろうか.
あとArray#to_sがArray#inspectと一緒になるのも意味が解らない.