【问题标题】:What's discouraging you from writing ruby 1.9-specific code? [closed]是什么阻止您编写特定于 ruby​​ 1.9 的代码? [关闭]
【发布时间】:2011-02-10 21:26:58
【问题描述】:

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

每个答案一个原因。

【问题讨论】:

    标签: ruby backwards-compatibility ruby-1.9 ruby-1.8


    【解决方案1】:

    另外,如果我们谈论的是 rails,那么问题在于 gems/plugins 与 ruby​​ 1.9 的兼容性。想升级到 1.9 的人一定要关注 isitruby19.com

    【讨论】:

      【解决方案2】:

      在许多操作系统中,安装 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。

      【讨论】:

      • 如果您正在编写一个 gem/库,您不知道您的用户正在使用什么平台。 (我想知道我们是否会看到 isitruby18.com?)
      • 如果“不知道什么平台”的答案令人信服,我们都需要继续瞄准 Ruby 1.6 或更早版本,并且该语言中没有任何新功能永远 被使用。
      • 人们是什么时候从1.6切换到1.8的,当时人们是怎么处理的?还是因为人们不写 gem 而不是真正的问题?
      【解决方案3】:

      没有什么让我感到沮丧。近一年来,我一直在使用 Ruby 1.9.1 做所有事情,并且几乎没有遇到任何问题。我的 major gems 需要 1.9 出于各种原因(简单的 UTF-8、纤维等),我对此毫无疑虑。对于其他一些 trivial gems,我可能会努力使它们与 1.8 兼容,这主要意味着不使用更简洁的新哈希语法。

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          不是真正回答您的问题,但现在开始使用 1.9.2 方法编写代码,您可以require "backports" 并且大多数功能都可供您使用,即使在 Ruby 1.8.6 中也是如此(尽管速度没有那么快,当然)。

          【讨论】:

            【解决方案6】:

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

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

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

            【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-06-30
            • 1970-01-01
            • 2012-11-18
            • 2021-02-14
            • 1970-01-01
            • 1970-01-01
            • 2022-11-23
            相关资源
            最近更新 更多