2017-05-17 47 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