Rubyコミュニティは現地時間25日、Ruby 2.7.0のリリースを公式Webサイトで発表した。

Ruby 2.7.0ではScalaのような関数型言語に実装されている特定の構造と照合できる"パターンマッチ"を実験的(experimental)に導入。Webサイトにはcase文とin/endでJSONデータを取り出す例を載せている。



require "json"

json = <<END
{
  "name": "Alice",
  "age": 30,
  "children": [{ "name": "Bob", "age": 2 }]
}
END

case JSON.parse(json, symbolize_names: true)
in {name: "Alice", children: [{name: "Bob", age: age}]}
  p age #=> 2
end

プロンプトで対話的にRubyを扱うirb(Interactive Ruby)での複数行編集サポートやクラスやモジュール、メソッドのカラーリングが提供されている。ほか、断片化したメモリを解放するGC.compactメソッド実装やパフォーマンスの向上などが図られている。