わーい.開発・リリースに関わった皆さん,本当におつかれさまでした&ありがとうございました.
非互換
リリースノートにRuby 2.0.0の「特筆すべき非互換」について書いてあったので真っ先に確認してみた.
デフォルトのスクリプトエンコーディングがUTF-8に
これのおかげで各ファイルにUTF-8用のマジックコメントをわざわざ書く必要がなくなった.わーい.早くRuby 1.9をdeprecateしよう!(ムリ
でもこの変更によって一部のプログラムが遅くなるなどの悪影響もある様子.まあ当たり前か.
iconv削除
Ruby 1.9から登場したString#encodeなどを使ってくださいという話.
ABI互換性がなくなっている
「1.9の.so, .bundleファイルをコピーするな」ということだけ気をつけておけばいいらしい.
#lines, #chars, #codepoints, #bytesメソッドがEnumeratorではなくArrayを返すようになった
結構うれしい変更.今まで文字列の各文字のArrayを取ってくるときにsome_string.chars.to_aと書いていたけど,これがsome_string.charsだけでよくなる.Array#to_aはselfを返すので,to_aがついてる古いコードも一応動くので安心.
Object#inspectの結果が#to_sではなく#のような文字列になった
今のところ特に思うところはないかな.
以上
さっそくrvm get head && rvm install 2.0.0 && rvm use 2.0.0 --defaultした.普段使っているRubyGemsが問題なく動いてくれることを祈ろう.
その他新機能については後日調べてみようかな.リリースノートからもリンクされてた以下の記事が分かりやすそう.
http://blog.marc-andre.ca/2013/02/23/ruby-2-by-example/