2012-04-03 42 views

回答

4

您包含脚本或文件,而不是宝石。

随着

require 'x' 

您加载文件x.rb。您加载的哪个x.rb是由搜索路径定义的,搜索路径可以通过gem定义(您在示例代码中没有使用的内容)进行修改。

加载文件x.rb中的所有内容。如果x.rb包含其他require命令,那些文件也会被加载。

+0

如果您想要解决此问题,请查看[autoload](http://rubydoc.info/stdlib/core/1.9.3/Kernel:autoload)。 – 2012-04-03 21:09:44

+0

@AleksanderPohl这不一定是真的,如果文件'x'有'Hello'&'Goodbye',使用其中之一将仍然加载两者,因为它们仍然在同一个文件中。 – 2012-04-03 21:42:36

+0

我还没有发现这两个类在问题描述中的同一个文件中。它们只在相同的宝石中定义。 – 2012-04-03 21:55:32