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)
返回 commentsPrism.parse_success?(source)
如果没有错误,则返回 true
- 现在可以使用
ruby --parser=prism
或RUBYOPT="--parser=prism"
尝试使用 Prism 编译器。值得注意的是,该 flag 仅用于调试。