什么令人沮丧,你写的特定于ruby 1.9的代码?

到目前为止,我一直只使用YARV(ruby 1.9)作为ruby比ruby 1.8更快的实现,并确保我的所有代码都向后兼容ruby 1.8.6。 什么情况,如果有的话,阻止你编写特定于1.9的代码?

每个答案的一个原因。

另外,如果我们谈论rails,那么问题在于gem和插件与ruby 1.9的兼容性。 我敢肯定每个想要升级到1.9的人都会关注isitruby19.com

Ruby 1.9.2的第一个候选版本将于5月底发布,我相信很多人都在等待1.9.2跳上1.9列车。

不是你的问题的答案,但是现在开始编写代码使用1.9.2方法,你可以require "backports" ,大多数function都可供你使用,即使在Ruby 1.8.6中(当然也不是那么快) )。

我希望在处理unicode数据时我可以忘记Iconv ,如下所示:

 Iconv.conv("utf-8", "utf-16le", blob).split("\n") 

但到目前为止,我找不到 1.9 unicode处理的好例子 /教程。

没有什么能让我感到沮丧。 我已经将Ruby 1.9.1用于我近一年的所有工作并且几乎没有问题。 由于各种原因(简单的UTF-8,纤维等),我的主要 gem 需要 1.9并且我对它没有任何疑虑。 对于其他一些琐碎的gem,我可能会努力使它们保持1.8兼容,这主要意味着不使用更干净的新哈希语法。

1.9是目前的Ruby。 我可以看到需要保留旧的Ruby以用于不值得更新的遗留代码,或者偏好替代Ruby(JRuby,Rubinius等) – 但它真的让我感到困惑,为什么这么多人仍在开始较慢,过时的Ruby 1.8.x系列中的新项目。

在许多操作系统中,安装ruby 1.8比使用ruby 1.9更容易。

  • Linux的一些发行版包含1.8但不包含1.9的软件包。
  • OS X预安装了ruby 1.8.7。 1.8.7运行ruby 1.9语言。
  • Windows的一键安装程序是ruby 1.8。

我不太了解Ruby以区分1.8和1.9(这就是我的理由:P)