2017-05-17 52 views
-3

我編譯了Ruby 193,並且能夠加載很多模塊而沒有任何問題。但是當我試圖加載「rubygems」時,它的說法是錯誤的。編譯後無法加載rubygems

irb(main):001:0> require 'json' 
=> true 
irb(main):002:0> require 'yaml' 
=> true 
irb(main):003:0> require 'time' 
=> true 
irb(main):004:0> require 'rubygems' 
=> false 
irb(main):005:0> 

但在紅寶石1.8.7,加載我們需要先,然後才JSON將加載加載了RubyGems的JSON。上午有紅寶石193和187

+1

你的問題不清楚。你只說了會發生什麼,但是你沒有說出你期望*會發生什麼,你爲什麼會期望發生,以及預期行爲和實際行爲以何種方式不同。什麼*特別*是你的代碼的問題?爲什麼你需要'返回'假'還是'真'? –

+0

我的問題,當我加載rubygems爲什麼它顯示假,雖然創業板工作正常。 – Karthi1234

+1

在「Kernel#require」的文檔中是否有任何特別不明確的內容?如果您能夠確切地知道文檔中的哪些部分對您不清楚,那麼Ruby開發人員可以爲未來的讀者改進文檔,這對您來說是非常好的。 –

回答

2

require回報true之間與RubyGems的小混亂,當它加載模塊,false如果模塊已經加載,並且提出了一個LoadError當一個模塊不能被發現。

您無法加載rubygems;它是默認加載的。嘗試require 'smegybur'或其他一些廢話,看看它實際上無法加載包時的外觀。

+0

感謝您的澄清!現在我對此非常瞭解。 – Karthi1234