问题
Assume x
is a gem, that contains both Hello
and Goodbye
classes.
If I write a program that require 'x'
, but only uses the Hello
class. Is the Goodbye
class loaded as well?
回答1:
You include scripts or files, not gems.
With
require 'x'
you load the file x.rb
. Which x.rb
you load is defined by the search path, the search pathes can be modified by gem definitions (what you didn't use in your example code).
Everything inside the file x.rb
is loaded. If x.rb
contains other require
commands, those files are also loaded.
来源:https://stackoverflow.com/questions/10001106/does-requiring-a-gem-load-everything-including-things-i-dont-use