关于Ruby 2.0: 我们的计划
- Fred - LetRails这是Matz在去年10月份做的一个关于Ruby 2.0的主题演讲,正如他所说,Ruby 2.0在特性方面只是向前迈进了一小步,更多的改变将发生在实现层面. Ruby 2.0的新特性包括:. 1.step(a, b) do |i|
p i
end
# 是从a到b,还是从b到a. 减少monkey patch对系统可能造成的负面影响.
这是Matz在去年10月份做的一个关于Ruby 2.0的主题演讲,正如他所说,Ruby 2.0在特性方面只是向前迈进了一小步,更多的改变将发生在实现层面。
Ruby 2.0的新特性包括:
1. Keyword arguments
现在的step:
1.step(a, b) do |i| p i end # 是从a到b,还是从b到a
Ruby 2.0:
1.step(by: 2, to: 20) do |i| p i end
2. selector namespace
减少monkey patch对系统可能造成的负面影响
class Integer def +(other) return 42 end end p 1+2 => 42
Ruby 2.0:
namespace Stupid do class Integer def +(other) return 42 end end p 1+2 => 42 end p 1+2 => 3
3. Traits
traits主要是为了解决mixin带来的命名冲突问题
module Foo ... end module Bar mix Foo end class C mix Foo mix Bar, :m => :m_bar end
4. Method combination
这主要是为了解决method alias chain带来的负面问题,现在你可以通过prepend将mixin的方法放在后面:
module Foo def foo p :before super p :after end end class Bar def foo p :foo end prepend Foo end Bar.new.foo # :before, :foo, :after
当然除了特性,对实现的改进也是必不可少的:
唯一的问题就是他没有讲我们什么时候可以用上Ruby 2.0,不过早上刚得到消息,第三届RubyConChina将于8月30号在北京举行,或许到时我们可以问问Matz这个问题。
无觅猜您也喜欢: |
Ruby 1.9正式发布 |
Writing Efficient Ruby Code Short Cut |
财付通Ruby插件更新 |
Ruby技巧3则 |
无觅 |