Ruby 2.7.0 preview 2 发布

来源:http://www.guanqinbiaoye.com 作者:计算机操作 人气:56 发布时间:2020-02-15
摘要:Ruby 2.7.0稳定版在圣诞节当天发布了,此版本引入了许多新特性和性能改进,最值得注意的包括: Ruby 2.7.0 preview 2 已经发布了,最终版本计划在 12月发布。该版本引入了一些新特性和性

Ruby 2.7.0 稳定版在圣诞节当天发布了,此版本引入了许多新特性和性能改进,最值得注意的包括:

Ruby 2.7.0 preview 2 已经发布了,最终版本计划在 12 月发布。该版本引入了一些新特性和性能改进,主要是:

  • 模式匹配(Pattern Matching)
  • REPL 改进
  • 紧凑 GC(Compaction GC)
  • 位置参数和关键字参数的分离
  • Compaction GC
  • Pattern Matching
  • REPL improvement
  • Separation of positional and keyword arguments

模式匹配(实验性功能)

模式匹配是函数式编程语言中广泛使用的特性,如果匹配某一个模式,它可以遍历给定的对象并分配其值,目前尚处于实验阶段 [Feature #14912]:

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

有关该功能的具体细节请查看 Pattern matching - New feature in Ruby 2.7。

Compaction GC 

REPL 改进

绑定的交互式环境 irb 现在支持多行编辑,由 reline 提供支持,reline 是一种与 readline 兼容的纯 Ruby 实现。它还提供了 rdoc 集成。在 irb 中,可以显示给定类、模块或方法的引用。此外,binding.irb 中显示的源代码行和核心类对象的检查结果现在以颜色区分显示。

图片 1

这个版本引入了 Compaction GC,以碎片化内存空间。GC.Compact 方法对堆进行压缩,这个函数压缩堆中的活动对象,以使用更少的页,并且堆会更友好。

紧凑 GC(Compaction GC)

紧凑 GC 可以对碎片化的内存空间进行碎片整理。一些多线程 Ruby 程序可能会导致内存碎片,从而导致高内存使用率和速度下降。引入了 GC.compact 方法来压缩堆,此函数压缩堆中的活动对象,以便可以使用更少的页,并且堆可能对 CoW 更友好。

Pattern Matching(实验性)

本文由威尼斯游戏网站发布于计算机操作,转载请注明出处:Ruby 2.7.0 preview 2 发布

关键词:

上一篇:威尼斯游戏网站nginx 1.17.7 主线版发布

下一篇:没有了

最火资讯