随着Ruby 1.9.2版本即将到来,现在是让开发者对Ruby 1.9感到兴奋的时候了。Ruby 1.9中有哪些在Ruby 1.8中无法实现的好玩的事情呢?
YARV。Ruby 1.9中的新VM提供了一个新的现代VM,速度显著提高。
哦,还有:它的速度是1.8的两倍以上。如果您正在构建具有大量I/O延迟的多线程应用程序,则速度更快。尽管仍然需要进行大量工作来尝试从1.8中提高性能或修复其线程等问题,但我很惊讶人们对1.9的速度或本机线程没有更多的兴趣。
1.8版本中的Unicode支持需要使用额外的gem包,这给我带来了很多痛苦。全面支持Unicode将是非常不错的。一些人抱怨实现过程的复杂性,但我想他们从未在C++中使用过ICU!
此外,能够执行"Hello"[3]
并获取字符也会很不错。
一些基准测试显示,1.9.1相对于1.8.6有显著的性能提升,这得益于Matz's Ruby中的新虚拟机(YARV)。
如果你有Dave Thomas的《Programming Ruby》(也称为Pick-axe书),内置类和方法部分会很好地标记从1.8到1.9的变化。
比如:
(a) 新的哈希语法:{:hello => "world"} 可以缩短为 {:hello:"world"}
(b) 有序哈希 !!
Ruby 1.9 Fibers提供了一个强大的新并发构造。 Ruby Fibers: 8 Useful Reads On Ruby’s New Concurrency Feature 中有与fibers相关的文章链接。
@results = Clients
.from_category(current_category)
.selected_by(current_user.id)
.activated
.order("created ASC")
.limit(1000)
.map{ |e| "#{e.id} - {e.fullname}" }