在 VM 层变化的大。API 层也有变化~,比较琐碎,记不准的话,可以参考 API Doc。
有一些是需要了解的:
- Ruby1.9 加入了 BasicObject,它是 Object 的父类。
- 对于 String,如 str[fixnum] 形式,在 1.8 返回 fixnum,在 1.9 返回 String。
- 某些方法(特别是与反射相关的),在 1.8 返回一个数组,其元素类型为 String,在 1.9 返回一个数组,其元素类型为 Symbol。
- 对于 Hash, 在使用时,1.8 没有保证其插入顺序,1.9 对其有保证。
- Ruby 1.9 的 Thread 使用了 Native Thread,而 1.8 则不是。
- 对于编码相关的改进。
- 其他...