我正在学习编程并选择了Ruby。我应该升级到Ruby 1.9吗?

时间:2011-03-16 18:16:10

标签: ruby rubygems ruby-1.9

我是一个完整的非程序员,正在学习使用Ruby和Rails框架进行编程。

我目前正在使用Ruby 1.8.7和Rails 3.0.3,但我想知道是否应该升级到Ruby 1.9,因为升级时我没有任何“遗留”成本。

有什么缺点?我是否会遇到与普通宝石的兼容性问题,甚至是我甚至无法预料到的其他问题?

5 个答案:

答案 0 :(得分:4)

你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的宝石,请避免它们(因为它们很可能不会被维护)。如果您对宝石是否与1.9.2兼容有任何疑问,可以查询:http://www.railsplugins.org/。如果您运行的是基于UNIX的系统,则可以使用http://rvm.beginrescueend.com/轻松升级。

答案 1 :(得分:3)

对于初学者来说,Ruby 1.9具有卓越的性能,真实的线程和对不同字符编码的支持。

很多事情发生了变化,导致了不兼容,但由于这对你来说不是问题,是的,你应该使用Ruby 1.9。

Here's a nice slide show that lists significant changes.

答案 2 :(得分:2)

您可能遇到一些兼容性问题,但大多数常见的宝石都移植到ruby 1.9。如果我是你,我会坚持1.8.7,特别是如果你正在学习。这样你可以避免所有的混淆:“这是我的错误还是只是ruby 1.9不兼容”

顺便说一句,如果你没有编程,我认为这不是一个好主意开始使用rails。首先学习纯ruby,在控制台中实现一些算法,连接到没有activerecord的数据库。我只是认为从rails开始会隐藏太多细节,这会在你最后缺乏基本知识的时候引发你的屁股......

答案 3 :(得分:1)

你应该升级。不是因为宝石(因为它需要一些时间,直到你开始使用Rails之外的其他东西),也不是因为1.9比1.8高得多(因为它不是)。你应该进行升级,因为在学习过程中,你将不可避免地碰到一些代码(例如,这里的SO),因为1.9中引入了一些细微差别,因此在1.8中引入了一些细微差别:简单的散列符号: {foo: 1, bar: 2}(与传统的{:foo => 1, :bar => 2}相对)。

答案 4 :(得分:0)

Ruby 1.9具有至关重要的新功能。例如,您可以在ruby 1.9中编写正则表达式,以便找到平衡括号。这在红宝石1.8中很难做到。它也快得多。使用1.9也很方便;它在Array和Hash中有很多内置方法,你必须自己编写1.8。你不应该使用ruby 1.8;使用ruby 1.9。