Until recently, I thought that all standard modules (which can be seen at http://ruby-doc.org/stdlib/ ) do not load by default. That is, you must demand that everything that you are going to use. But it turns out that some of them are really loaded, judging by the contents of $LOADED_FEATURES :
$ ruby -rpp -e 'p $LOADED_FEATURES' ["enumerator.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/encdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/trans/transdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/rbconfig.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/compatibility.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/defaults.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/deprecate.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/errors.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/version.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/requirement.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/platform.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/specification.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/exceptions.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/prettyprint.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/pp.rb"]
So I wonder, what is the reason and can I influence this in any way?
UPD without requiring pp
$ ruby -e 'p $LOADED_FEATURES' ["enumerator.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/encdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/trans/transdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/rbconfig.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/compatibility.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/defaults.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/deprecate.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/errors.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/version.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/requirement.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/platform.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/specification.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/exceptions.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems.rb"]
ruby
x-yuri Jan 30 '14 at 22:18 2014-01-30 22:18
source share