2014-12-07 81 views
1

这里的一篇有用的文章建议尽管它们是内置的,但明确地调用Ruby gems。Ruby上的初学者需要语法

所以不是

require 'minitest/autorun' 
require_relative 'falcon'#file to test 

我写

require 'rubygems' 
gem 'minitest' 
require 'minitest/autorun' 
require_relative 'falcon'# file to test 

第二语法解决了我的问题。

我现在想知道第二个标题是否正确,即是否有任何不必要的重复。

+1

除非你运行的是Ruby 1.8或更早的版本,否则你不需要'require'rubygems''。您的源文章可能已过时。 – 2014-12-07 13:02:37

+2

第一个解决了第一个问题,你有什么问题? – 2014-12-07 13:22:05

+0

赔率*非常*好文章已过时。如果它不是旧的,应该忽略,因为作者没有注意。 – 2014-12-07 19:03:23

回答

0

您应该声明您的Ruby版本,因为这样可以更容易地找出展示的特定行为模式。

require 'rubygems'在更新的(例如〜3岁)Ruby版本上不再需要。

再次调用Rubygems显然对我没有意义。即使是这样,我会认为这个行为是一个错误,因为它已经做出了集成rubygems的决定。

Rubygems现在与默认的Ruby捆绑在一起,在我看来,明确的require 'rubygems'的日子应该已经结束。

+0

“关于更近期的(例如〜3年)Ruby版本”。具体来说,Ruby 1.9+会自动执行“require”rubygems“',所以只有Ruby <1.9需要它。 – 2014-12-07 19:01:26