Ruby開発チームは5月30日、Ruby 2.7シリーズの最初のプレビュー版となる「Ruby 2.7.0-preview1」を公開しました(ruby-lang.org)。現在公式サイトよりソースコードをダウンロード可能です。
プレビュー版は年末の正式リリースに向け、新機能のテストやフィードバックを集めるために提供されるもので、多くの新しい機能やパフォーマンスの改善が含まれています。
Ruby 2.7の新機能としてはまず、断片化したメモリをデフラグするCompaction GCの導入があげられています。GC.compactというメソッドを呼び出すことで、ヒープをコンパクションし、メモリの断片化によるメモリ使用量の増大や性能の劣化を防ぐこと可能となります。
また関数型言語で広く使われているパターンマッチと呼ばれる機能が実験的機能として導入されました。渡されたオブジェクトの構造がパターンと一致するかどうかを調べ、一致した場合にその値を変数に代入するといった操作が可能となっています。
case JSON.parse('{...}', symbolize_names: true) in {name: "Alice", children: [{name: "Bob", age: age}]} p age ... end
その他、Rubyに添付されているirbの複数行編集のサポートや、メソッド参照演算子".:"の追加、デフォルトのブロックの仮引数として番号指定パラメータの試験的導入、開始値省略範囲式の試験的導入、各要素の出現回数をカウントするEnumerable#tallyの追加、
JITのパフォーマンスの改良などさまざまな新機能が追加されています。
タイトル | Ruby | |
---|---|---|
公式サイト | http://www.ruby-lang.org/ja/ | |
ソフトアンテナ | https://softantenna.com/softwares/1964-ruby | |
説明 | オブジェクト指向スクリプト言語。 |