Ruby 3.4.0震撼来袭:新版本特性全解析

发表时间: 2024-12-30 08:19

Ruby 3.4.0 发布

Ruby 3.4.0 正式发布!此版本带来了 it 块参数引用、默认解析器切换为 Prismsocket 库支持 Happy Eyeballs Version 2、YJIT 性能提升、模块化 GC 等诸多改进。

主要更新:

  • it 块参数引用:
    简化单行块的编写,类似于 _1,但更易读。例如:ary.map { it.upcase }
  • 默认解析器切换为 Prism:
    内部改进,对用户可见的变化很小,但可以提升性能。
  • Happy Eyeballs Version 2 支持:
    socket 库现在支持 Happy Eyeballs Version 2 (RFC 8305),可以更有效地进行 IPv6IPv4 连接,减少连接延迟。
  • YJIT 增强:
    在 x86-64 和 arm64 平台上,大多数基准测试的性能都有所提升,同时减少了内存使用。新增了命令行选项和 Ruby API,并进行了多项优化。
  • 模块化 GC:
    允许动态加载不同的 GC 实现,为未来的 GC 发展提供了更多可能性。目前提供了一个基于 MMTk 的实验性 GC 库。
  • 语言变更:
    对未冻结字符串字面量的修改发出弃用警告,支持在方法调用中使用 **nil 进行关键字展开,以及其他一些小的更改。
  • 核心类更新:
    Exception#set_backtrace 现在接受 Thread::Backtrace::Location 数组,GC 模块新增了配置参数,Ractor 也进行了多项改进。
  • 标准库更新:
    RubyGems 新增了 --attestation 选项,Bundler 增强了锁文件校验功能,JSON 解析性能提升,Tempfile 新增了 anonymous: true 选项。
  • 兼容性问题:
    错误信息和回溯显示有所更改,Hash#inspect 的渲染方式也有所变化,Kernel#Float()String#to_f 现在接受省略小数部分的十进制字符串。一些已弃用的常量被移除。

来源:
https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/

Ruby 随后于同日发布了 3.4.1 版本。
详情请参考:
https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/


Co-op Translator v0.6.2 版本发布:重新设计的架构及更多功能

Co-op Translator 是一个 Python 包,旨在使用先进的大语言模型 ( LLM ) 技术和 Azure AI 服务自动为您的项目进行多语言翻译。该项目旨在简化将内容翻译成多种语言的过程,使开发人员可以轻松访问并提高效率

近日,Co-op Translator 发布了 v0.6.2 版本,带来了重大的架构改进和新功能,提升了灵活性和易用性。

主要更新:

  • 重新设计的架构:
    支持多种大型语言模型(LLM)和视觉服务提供商,将特定于提供商的实现与核心业务逻辑分离,提高了可维护性和扩展性。现在可以根据环境变量配置选择不同的提供商,并在配置多个提供商时实现基于优先级的模型选择。
  • 新增 OpenAI 模型支持:
    除了 Azure 认知服务,现在也支持 OpenAI 模型,为用户提供了更多选择。
  • 增强 Markdown 处理:
    引入了 Markdown-only 模式,用于专注于文本翻译。当视觉服务不可用时,会自动回退到此模式。此外,新增 -md 命令行标志可显式激活 Markdown-only 模式。
  • 文档更新:
    更新了 README 文件,提供了更全面的模型支持信息和详细的环境变量配置指南,并修复了文 档中的错误链接。

迁移指南:

  • 环境变量:
    增加了 OpenAI 配置支持,同时保持了与现有 Azure 配置的向后兼容性。更新了环境变量模板,包含了新的选项。
  • 命令行界面
    更新了 -md 标志,用于 Markdown-only 模式。

新版本的主要特性总结:

  • 支持多 LLM 和视觉服务提供商,例如 Azure 和 OpenAI
  • 基于环境变量的提供商选择和优先级配置
  • Markdown-only 模式,适用于纯文本翻译
  • 完善的文档和环境变量配置指南

来源:
https://github.com/Azure/co-op-translator/releases/tag/v0.6.2


快速安装:

# 查询并执行 co-op-translator的安装命令x install co-op-translator

搭配 fzf 交互式安装:

# 启用 install 模块的交互式 UIx install

进一步探索:

  • https://cn.x-cmd.com/install/co-op-translator


更多内容请查阅 : https://cn.x-cmd.com/blog/241230