「Ruby 2.7」リリース、パターンマッチングを実験導入

 Ruby開発チームは2019年12月25日、最新安定版となる「Ruby 2.7.0」を公開した。パターンマッチングの実験的導入、性能の改善などが加わっている。

 Ruby 2.7は2018年12月25日に公開されたバージョン2.6に続く最新版。大きな特徴として、パターンマッチングの実験的導入、Compaction GCの導入などがある。

 パターンマッチングは、パターンとそれに対応する処理を記述しておき、指定した対象が定義しておいたパターンにマッチした場合に、そのパターンに対応する処理を実行できる書式。値や変数、ハッシュ、配列などを対象に実行できる。バージョン2.7では実験扱いで導入した。

 Compaction GCは、分断化されたメモリ空間のデフラグする機能。一部のマルチスレッド化されたRubyプログラムで、メモリの分断化が生じているという問題に対処するもの。ヒープをコンパクト化するGC.compact手法を用い、ヒープにあるライブオブジェクトにコンパクションをかけて、ページの使用を減らす。ヒープのコピー・オン・ライト(CoW)との親和性強化にもつながるとしている。

 このほかにも、キーワード引数とポジショナル引数との分離、REPL(Read-Eval-Print-Loop)の改善なども加わった。パフォーマンスでは、JIT関連の実験的機能、Fiberのキャッシュ手法の変更などにより性能を改善した。標準ライブラリも各種アップデートした。

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