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メソッド実装やパフォーマンスの向上などが図られている。