Ruby 2.7.0-rc2 發布了,最終版本計劃於 12 月 25 日發布。
此版本引入了許多新特性和性能改進,最值得注意的包括:
模式匹配是函數式編程語言中廣泛使用的特性,如果匹配某一個模式,它可以遍歷給定的對象並分配其值:
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
綁定的互動式環境 irb 現在支持多行編輯,由 reline 提供支持,reline 是一種與 readline 兼容的純 Ruby 實現。它還提供了 rdoc 集成。在 irb 中,可以顯示給定類、模塊或方法的引用。此外,binding.irb 中顯示的源代碼行和核心類對象的檢查結果現在以顏色區分顯示。
壓縮 GC 可以對碎片化的內存空間進行碎片整理。一些多線程 Ruby 程序可能會導致內存碎片,從而導致高內存使用率和速度下降。引入了 GC.compact 方法來壓縮堆,此函數壓縮堆中的活動對象,以便可以使用更少的頁,並且堆可能對 CoW 更友好。
不建議使用關鍵字參數和位置參數的自動轉換,並且在 Ruby 3 中將刪除此轉換。
詳情查看更新說明:
https://www.ruby-lang.org/en/news/2019/12/21/2-7-0-rc2-released
[admin
]