写点什么

Ruby 1.9 发布

  • 2007-12-29
  • 本文字数:1194 字

    阅读完需:约 4 分钟

2007 年圣诞节刚刚过去,Ruby1.9如约而至

在以往的Ruby 版本中,如果版本号的最后一位为奇数,通常都表示该Ruby 版本为实验版本。所以Ruby1.7 就是一个实验版本,而Ruby1.8 则是一个正式版本。Ruby 核心团队遵循这一规则,将Ruby 的新发布版命名为1.9.0。这意味着Ruby 1.9 不再被认为是实验性版本,虽然其实现到达产品应用的要求尚需一些时日。Matz 表示仍会继续改进 1.9 版本的稳定性。不过 Ruby1.9 的语言定义现在已经稳定下来了,今后也不会再向其加入实验性的特性。包括 Rails 在内的主要 Ruby 项目,已经着手进行 Ruby1.9 的兼容工作。更多这方面的信息可以在下面看到。

Ruby1.9 引入了大量变化和新特性,其中许多都非常自然。例如在向方法传递 hash 参数时,新的 hash 语法格式可以使您不再需要书写“=>”。所以一个像下面这样的调用:

link_to :controller => 'People', :action => "list"现在可以写为:

link_to controller: fred, action: "list"关于 Ruby1.9 版本相对于 1.8 版本的变化信息,最佳的资源一直是 list kept by Mauricio Fernandez 。Mauricio 已经通过人工方式追踪这些变化有近两年的时间。最近他还宣布他将在稍后发布一个通过自动分析版本变更日志生成的新列表

另一个有趣的变化是,一些诸如 Ruby Gems这样的重要 ruby“外部”工具现在也成为了标准库的一部分。

也许最大的变化的还是在内部。Ruby1.9 实现于一个新的 Ruby 虚拟机之上。比起 Matz 团队在之前版本实现中所使用的旧式抽象语法树 (abstract syntax tree,简称 AST) 解释器,这一新的虚拟机要高效的多。YARV 同时在并发方面进行了调整:Ruby 现在使用内核线程(即便由于全局解释器锁的存在,Ruby 代码不会并行执行);此外, Fibers 对延续机制(Continuations)进行了更新并将协同程序(Coroutines)引入到了 Ruby 中

另一方面,Ruby1.9并不向后兼容 Ruby 1.8。一些语义已经发生了变化。例如,块(block)中的参数现在的作用域被限制为块内部,块的语义也有了一些微调。这些变化意味着现有 Ruby 程序需要做出一定的改写后才能使用 Ruby1.9。

Ruby 图书出版商们正在加紧工作。Pragmatic Programmers 最近宣布《Programming Ruby》的第三版(著名的“镐头书”)正在写作过程中。和Pragmatics 的惯例一样,这本书已经以beta 项目方式发布出来,供读者们试读。O’Reilly 也宣布说由 David Flanigan 和 Yukihiro Matsumoto 撰写的《The Ruby Programming Language》一书有望在 2008 年 1 月发布。这本书将对 Matz 的《Ruby in a Nutshell》进行扩展,使其包含 Ruby1.9 的相关内容。

查看英文原文: Ruby 1.9 released - - - - - -

译者简介:马家宽,北京大学软件工程实验室博士研究生,研究方向为过程管理(Process Management)。专业方面的目标是领悟一点软件开发中理论、技术、实践和人这些关键要素的结合之道。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-12-29 00:551068
用户头像

发布了 24 篇内容, 共 39138 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

TikTok直播有什么要求?

Ogcloud

TikTok tiktok运营 tiktok直播 tiktok直播专线 tiktok直播网络

苹果电脑怎么玩CS MacBook怎么玩反恐精英?

阿拉灯神丁

CS 苹果电脑 CrossOver Mac下载 CrossOver 24

鸿蒙 next 实现应用内字体大小切换

flfljh

harmony_flutter_amp 导入高德地图

flfljh

如何安装 OpenHarmony ohpm 包

flfljh

DeFi 4.0峥嵘初现:主权金融时代的来临

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

SpringBoot必须掌握的常用注解!

王磊

LeetCode题解:2665. 计数器 II

Lee Chen

2024(第一届)上饶市「游戏星火」创客挑战大赛全面启动!

极客天地

StarRocks 在 Shopee 数据产品的实践

StarRocks

创新实践:基于边缘智能+扣子的智慧婴儿监控解决方案

火山引擎边缘云

物联网 大模型 AI 基础设施 边缘智能

指标平台为业务部门提供实时、准确的数据支持,以助力业务决策

Aloudata

数据分析 指标管理 指标平台 指标开发

MLP AI生态平台将掀起去中心化智能投资浪潮

股市老人

HarmonyOS next之border使用以及单独方向设置

flfljh

连续七年亮相进博会,高通携手合作伙伴共赢智能计算新时代

业界

PlatformView同层渲染方案适配切换指导

flfljh

鸿蒙next页面滚动与回到顶部设置

flfljh

鸿蒙Next元素定位

flfljh

指标平台帮助企业在业务运营过程中快速定位和解决业务问题

Aloudata

数据仓库 数据分析 指标管理 指标平台 指标开发

AI 驱动设计仿真丨亿欧专访:Altair 打开工业软件解题新思路

Altair RapidMiner

人工智能 制造业 仿真 altair 工业软件

语音 AI 迎来爆发期,也仍然隐藏着被低估的机会丨RTE2024 音频技术和 Voice AI 专场

声网

ppt怎么画箭头?用这2个ppt工具轻松搞定绘图!

职场工具箱

效率工具 职场 办公软件 AIGC AI生成PPT

Flutter OHOS外接纹理适配简介-图片显示

flfljh

TG机器人链游开发项目:迈向去中心化游戏新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

鸿蒙 next 使用并封装富文本hp-richtext

flfljh

ohos开发flutter_module

flfljh

API网关如何在iPaaS平台中助企业构建安全高效的API生态体系

RestCloud

数字化转型 API API网关 ipaas

鸿蒙Flutter生成hap包编译过程可能遇到的问题

flfljh

鸿蒙 next 实现做题每 10 题提交

flfljh

Flutter OHOS外接纹理适配简介-视频播放

flfljh

Ruby 1.9发布_Ruby_Rick DeNatale_InfoQ精选文章