Ruby 2.4.0-preview2 发布

我们很高兴地宣布 Ruby 2.4.0-preview2 的发布。

Ruby 2.4.0-preview2 是 Ruby 2.4.0 的第二个预览版。发布此 preview2 是为了获得社区的反馈。请随时发送反馈,因为您仍然可以影响其功能。

将 Fixnum 和 Bignum 统一为 Integer

尽管 ISO/IEC 30170:2012 没有详细说明 Integer 类,但 Ruby 有两个可见的 Integer 类:Fixnum 和 Bignum。Ruby 2.4 将它们统一为 Integer。所有接触 Fixnum 或 Bignum 类的 C 扩展都需要修复。

另请参阅此问题akr 的幻灯片

字符串支持 Unicode 大小写映射

String/Symbol#upcase/downcase/swapcase/capitalize(!) 现在处理 Unicode 大小写映射,而不仅仅是 ASCII 大小写映射。

性能改进

Ruby 2.4 还包含以下性能改进,包括语言更改

Array#max, Array#min

[x, y].max[x, y].min 经过优化,在特定条件下不会创建临时数组。

Regexp#match?

添加了 Regexp#match?,它执行正则表达式匹配而不创建反向引用对象并更改 $~ 以减少对象分配。

其他性能改进

调试

Thread#report_on_exception 和 Thread.report_on_exception

除非另一个线程显式加入它们,否则 Ruby 会忽略线程中的异常。使用 report_on_exception = true,您可以注意到线程是否由于未处理的异常而终止。

请向我们发送反馈,关于 report_on_exception 的默认值,以及关于 report-on-GC 的信息,它会在线程在未加入的情况下被垃圾回收时显示报告。

线程死锁检测现在显示带有回溯和依赖关系的线程

Ruby 在等待线程周围具有死锁检测,但其报告不包含足够的调试信息。Ruby 2.4 的死锁检测显示带有其回溯和依赖线程的线程。

尝试并享受使用 Ruby 2.4.0-preview2 编程的乐趣,并向我们发送反馈

自 2.3 以来的其他显著变化

  • 支持 OpenSSL 1.1.0
  • ext/tk 现在已从 stdlib 中删除 功能 #8539

有关详细信息,请参阅 NEWSChangeLog

经过这些更改,自 Ruby 2.3.0 以来,已更改 2353 个文件,新增 289057 行 (+),删除 73847 行 (-)

下载

  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.bz2

    • 大小:12463225 字节
    • SHA1: 95a501624f1cf4bb0785d3e17afd0ad099f66385
    • SHA256: 2224c55b2d87b5c0f08d23a4618e870027dbc1cffbfb4a05efd19eac4ff4cf1d
    • SHA512: 0c9a59a2f57a99c4ee8539a30f41da1de7547566203f89d856e1be9dbb44365754e6c470145dc9336eb324e0feb2f53d9fef18a1564968ac21f9ee528905949f
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.gz

    • 大小:15586514 字节
    • SHA1: 492a13c4ddc1c0c218433acb00dcf7ddeef96fe0
    • SHA256: fec544836428aada2dc593a8cc42ce330798a805e49ecb807a0e21b386fd0b14
    • SHA512: 5a3de852a7611e79f38219ed7bb13772aaabb25538ca843d38743180a0cc939a4e34c008b61d578da785285196b6b8882270bddc17cbed481237db8afa4c54e4
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.xz

    • 大小:9886832 字节
    • SHA1: 95d5fd7d54d86497194f69ec433755a517dcde8f
    • SHA256: 6c2d25bedc50c2f19b0e349f0ffd9b9a83000d9cb6a677bf5372fb493d33e16a
    • SHA512: b9bd898d17583103ee61b4764ac86eb62c9661fca1f41ff0d06a15965a0a1ba581491d4b8a342e527d63e102b6ddcb2acebdabe5b246409ce9711e13f9428d5b
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.zip

    • 大小:17401564 字节
    • SHA1: 5f3a5b2fd03f70d49e74ec36be3e0c110f6c17cc
    • SHA256: 4d0e466148283ad52208b1e1b70b018aefb7fa95b490fc862d5ea4ca284ecdd2
    • SHA512: 0ef2098d995238580245a4bcee843641199c1194189be13614611e2ffec329278072319a799d409eaf13b1cff45f05a0eae02d9ea8ccc69058fa49e03eca0130

发行说明

另请参阅发布计划和其他信息

ReleaseEngineering24