Ruby 3.3.0 正式发布

Ruby 3.3.0 现已正式发布。新版本添加了一个名为 Prism 的新解析器,使用 Lrama 作为解析器生成器,添加了一个名为 RJIT 的新纯 Ruby JIT 编译器,以及许多性能改进,尤其是 YJIT。

具体更新内容如下:

Prism

  • 引入 Prism 解析器作为默认 gem
    • Prism 是一个可移植、容错且可维护的 Ruby 语言递归下降解析器
  • Prism 已做好生产准备并积极维护,用户可以使用它代替 Ripper
    • 具体介绍可查看 Prism 的文档。
    • Prism 既是一个由 CRuby 内部使用的 C 库,又是一个可供任何需要解析 Ruby 代码的工具使用的 Ruby gem
    • Prism API 中值得注意的方法有:
      • Prism.parse(source)返回 AST 作为解析结果对象的一部分
      • Prism.parse_comments(source)返回 comments
      • Prism.parse_success?(source)如果没有错误,则返回 true
  • 现在可以使用ruby --parser=prismRUBYOPT="--parser=prism"尝试使用  Prism 编译器。值得注意的是,该 flag 仅用于调试。