InfoQ

新闻

Ruby进展近况:Ruby 1.9.0-5发布、JRuby跳过1.8.7、用于Case测试的Procs#===

作者 Mirko Stocker译者 李明(nasi) 发布于 2008年10月11日 上午4时3分

社区
Ruby
主题
JRuby
标签
Ruby 1.9,
JRuby

Ruby 1.9.0-5发布

在10月3日(星期五),Yuki Sonoda发布了Ruby 1.9.0-5,之前最后一次延期是因为miniunit出了些小问题,已经被Rayn Davis修正。此发布版本还标志着即将到来的1.9.1的特性已经冻结(详情参见changelog)。

JRuby放弃支持1.8.7

JRuby的贡献者之一Marcin Mielżyński提议在JRuby中放弃对Ruby 1.8.7的支持

为了使得从1.8迁移到1.9更容易,很多1.8.7的特性都来自于1.9.1。它们中大多数都是直接拷贝(对1.8.x的api改动不大),但是有很多令人棘手的实例,说明在1.9.x、1.8.6和1.8.7之间的行为不同。[...] 在没有yarv和所有语法糖衣的特性(当然还有编码的支持)的情况下,没有必要把所有行为都从1.9.x移植到1.8.7中,因为最终还是会以1.9.x告终。

Thomas EneboCharles Nutter也表示了赞同,并补充到,用户应该直接切换至1.9,而不是编写只能在1.8.7下正常工作的代码(在JRuby中获得对Ruby 1.9的支持可以启用--1.9)。Charles也将他的看法发布到Ruby-core邮件列表中,但是就此事还没有开始进行任何讨论。

将Procs用于Case相等性测试

Ruby在case语句中使用===来比较不同的情况。Ruby 1.9的Proc类最近也实现了===方法,基本上就是一个调用Proc的call方法的别名。现在,这意味着可以在case语句中使用Proc对象了;可以将case参数作为Proc的参数。这种技巧是由Aimred发现的,并在Matz将其继承到Ruby 1.9以前自行实现了改方法。

Dave Thomas展示了一个更为复杂的应用程序,采用这种方法来创建若干Proc以检验的星期的某一天。

查看英文原文:Ruby Future Roundup: Ruby 1.9.0-5 Released, JRuby Skips 1.8.7, Procs#=== For Case Testing

没有回复

回复

独家内容

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。

揭示常见的重构误区

相对于Java,.NET在持续重构方面所给与的重视仍然少为人知,大多数人对于重构是否真正属于开发过程,以及如何将其应用到开发过程中持观望态度。Danijel Arsenovski试图为你揭示这些谜题。