2014-12-07 89 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