Ruby 2.0系列最初の安定版となる「Ruby 2.0.0-p0」がリリースされました(ニュースリリース、るびま: Ruby 2.0.0リリース特集)。
数多くの新機能や改善が行われたこのリリースですが、主な新機能は次の通りということです。
- 言語コア機能
- キーワード引数: API 設計の新しい柔軟性
- Module#prepend: クラス拡張の新しい方法
- シンボルの配列を簡単に作るリテラル %i
- __dir__: 実行中のファイルのあるディレクトリ名
- default UTF-8 encoding: 多くのマジックコメントが不要に
- 組み込みライブラリ
- Enumerable#lazy / Enumertor::Lazy: 無限の遅延ストリーム
- Enumerable#size: 遅延サイズ評価
- #to_h: Hash への変換メソッド
- Onigmo (鬼雲): 新しい正規表現エンジン (鬼車の fork)
- 非同期例外を安全にハンドリングする API
- デバッグサポート
- DTrace サポート: 本番環境での実行時診断を可能にする機能
- TracePoint: 改善されたトレース API
- 性能改善
- bitmap marking による GC 最適化
- Rails の起動時間を大幅に短縮する Kernel#require の最適化
- メソッドディスパッチなどの VM 最適化
- 浮動小数演算の最適化
「2.0.0 の設計では 1.9 と互換であることに非常に注意を払っています。2.0 への移行は、1.8 から 1.9 の移行より苦労しないと思います」ということなので早速試してみたいですね。素人的にはOnigmoという名前の新しい正規表現エンジンが気になりました。