Hacker News 中文摘要

RSS订阅

Ruby 4.0.0 预览版2发布 -- Ruby 4.0.0 Preview2 Released

文章摘要

Ruby 4.0.0预览版2发布,主要更新包括:Unicode升级至17.0.0版本,语言特性调整如*nil行为变更,核心类如Binding、IO、String等功能改进,以及多个标准库版本更新。

文章总结

Ruby 4.0.0预览版第二版发布

2025年11月17日,Ruby核心团队宣布推出Ruby 4.0.0-preview2版本。该版本主要更新内容包括:

语言特性变更 - 优化了*nil操作符行为,不再调用nil.to_a方法(与**nil不调用nil.to_hash的行为保持一致)

核心类更新 1. Binding类: - 移除了对编号参数的处理功能 2. IO类: - 支持将Float::INFINITY作为超时参数 3. String/Regexp类: - Unicode标准升级至17.0版本 - Emoji表情升级至17.0版本

标准库更新 多个标准库组件获得版本升级,包括: - ostruct (0.6.1) - logger (1.7.0) - irb (1.15.2) - 等共计11个组件

JIT编译器改进 1. YJIT: - 新增内存大小和调用阈值配置选项 - 调整统计功能使用方式 2. ZJIT: - 新增实验性方法编译功能(仍处于早期阶段) 3. RJIT: - 移出核心代码库,转为独立项目

技术细节 - 代码变更量:涉及3,607个文件,新增197,451行,删除285,607行 - 提供三种格式的安装包下载(含完整校验信息)

Ruby简介 由松本行弘(Matz)于1993年创建的开源动态语言,广泛应用于Web开发等领域,支持多平台运行。

(注:原文中部分技术细节如具体GitHub链接、校验码等非核心信息已作精简,保留了版本更新的关键内容和技术要点)

评论总结

评论总结:

  1. 关于Ruby 4.0.0发布背景(评论3):
  • 主要观点:版本号升级主要纪念Matz创建Ruby 30周年,同时讨论Matz可能的退休计划及继任者问题
  • 关键引用: "matz created ruby 30 years ago...he has a retirement plan" "Imagine DHH takes over - man, there would be an insta-exodus of people"
  1. 关于Ruby::Box功能(评论3):
  • 主要观点:认为Ruby::Box解决了命名空间隔离问题,但语法需要改进
  • 关键引用: "Ruby::Box kind of builds on that and makes the refinement use case more generic" "Syntax-wise Ruby::Box is also weird, so hopefully the syntax gets easier"
  1. 关于命名空间管理(评论3):
  • 主要观点:提出命名空间所有权管理方案,区分强弱所有权
  • 关键引用: "Via Ruby::Box, it should be possible to have ownerships" "Having this more organized would be really convenient for developers"
  1. 其他技术提问(评论1/2/4):
  • 评论1惊讶Ruby有多个JIT:"I didn't know Ruby has three different JITs"
  • 评论2询问具体变更:"Any particular changes of interest?"
  • 评论4询问纤程和异步功能:"Nothing about Fibres and Async from Samuel Williams?"
  1. 社区讨论现状(评论3):
  • 主要观点:批评当前讨论缺乏历史背景认知
  • 关键引用: "About 80% of the people involved, DON'T EVEN KNOW THESE OLD DISCUSSIONS" "many people don't seem to understand the use cases"