Ruby 2.1.0リリース、ガベージコレクションの改善や新たな文法の追加などが行われる

 Ruby開発チームは12月25日、Ruby 2.0系の最新版「Ruby 2.1.0」を公開した。ガベージコレクション「RGenGC」やメソッドキャッシュなどにより性能が改善されている。

 Ruby 2.1.0は、2013年2月に公開されたバージョン2.0系の最新版。言語面での変更としては、デフォルト値なしのキーワード引数が可能になった点がある。キーワード引数はバージョン2.0で導入されたもので、デフォルト値が必須だったが、本バージョンからはデフォルト値を指定せずにキーワード引数を利用できる。また、実数および虚数を記述するための「r」および「i」リテラルが導入された。これを利用してRational型やComplex型の値を容易に記述できる。たとえば、「42r」という表記は「Raional(42,1)」に、「3.14r」は「3.14.rationalize」という表記に相当する。また、「42i」は「Complex(0, 42)」に相当する。そのほか、def式がメソッドのSymbolを返すよう変更された。

 コアクラスでは、新たに世代別ガベージコレクションアルゴリズムRGenGCが導入された。仮想マシン(VM)のメソッドキャッシュなどにより性能を改善しているという。Bignumの取り扱いもGNU Multiple Precision Arithmetic Library(GMP)を採用することで改善している。

 ライブラリ関連では、不正なバイト列を除去するString#scrubの追加、<リテラル>.freezeの最適化、拡張ライブラリcursesの削除などが行われる。また、Refinementsは2.0では実験的だったが2.1では正式となった。RubyGemsはバージョン2.2.0に、RFocは4.1.0にアップデートした。

 Ruby 2.1.0はRubyのWebサイトよりダウンロードできる。ライセンスはRuby LicenseとBSD Licenseのデュアルライセンス。

Ruby
http://www.ruby-lang.org/