Ruby 3.5.0 preview1 已发布

我们很高兴地宣布 Ruby 3.5.0-preview1 已发布。Ruby 3.5 除了将 Unicode 版本更新到 15.1.0外,还有一些其他变更。

语言变化

  • *nil 不再调用 nil.to_a,就像 **nil 不再调用 nil.to_hash。 [Feature #21047]

核心类更新

注意:我们只列出了重要的核心类更新。

  • Binding

    • Binding#local_variables 不再包含引用数字参数(如 _1, _2)。 同样, Binding#local_variable_getBinding#local_variable_set 也会拒绝处理引用数字参数。 [Bug #21049]
  • IO

    • IO.select 允许使用 Float::INFINITY 作为超时参数。 [Feature #20610]
  • String

    • 更新 Unicode 版本至 15.1.0,更新 Emoji 版本至 15.1。 [Feature #19908] (同样适用于 Regexp)

标准库更新

注意:我们只列出了重要的标准库更新。

  • ostruct 0.6.1
  • pstore 0.2.0
  • benchmark 0.4.0
  • logger 1.7.0
  • rdoc 6.13.1
  • win32ole 1.9.2
  • irb 1.15.2
  • reline 0.6.1
  • readline 0.0.4
  • fiddle 1.1.6

兼容性问题

注意:不包括错误问题修正。

标准库兼容性问题

C API 更新

其他变化

更多详情,可参见 NEWS提交日志

自 Ruby 3.4.0 以来,这些变化共导致 2065 个文件被更改,新增 36581 行(+),删除 203037 deletions(-)

下载

  • https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.gz

    文件大小: 23146162
    SHA1: ee0fcfe1342116f05060279ff0c9eb1e215db0b9
    SHA256: ecf09c7eb902e91cdaf9cc553cd00cca9b848b3fc0e14297850f9ab08cdd46f0
    SHA512: d718973648705636eff5933a0919132fd1f6b9afea432e09cce1265c6e0125e11cc94dbff84cba1caefc03190c48d8af4a27337d2af031f3f1660ca3a3531211
    
  • https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz

    文件大小: 17443928
    SHA1: 8a78a9189afa20cde42207a466bcf7d421ee144b
    SHA256: c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa
    SHA512: 835bd0b65d546722c83b0ab454256357b48898a0de9aa8e38966f53d2370a6e99552eeaff76a0b680aefbbe7491e701e5e7357797e50f063c53e79d9561c1dac
    
  • https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.zip

    文件大小: 28548713
    SHA1: bd0c32bc84ac1ce9edbc9c0a50e8c72e56b1229d
    SHA256: 3e1d9df578c69976a01a69b961819d00c4e8942f8b5fe4fb8e135fca4f7e7e5e
    SHA512: 47057e1615b2b59d5bbd0d6629e1320ed74f3d70748f1db4e8b88d6c8a3ecd255eacc7dac0cccd01923fae4b4dff9e6b9457a9858c81dab81c1ab9ee514b15fa
    

Ruby 是什么

Ruby 最初由 Matz (松本行弘,Yukihiro Matsumoto) 于 1993 年开发, 现在以开源软件的形式开发。它可以在多个平台上运行,并在全球得到广泛使用,尤其是 Web 开发领域。