直到最近,我还认为所有标准模块(那些可以在http://ruby-doc.org/stdlib/ http://ruby-doc.org/stdlib/) 默认情况下不加载。也就是说,您必须要求您将要使用的每一个。但从内容来看,确实有一些是被加载的$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"]
所以我想知道原因是什么,我可以以任何方式影响它吗?
UPD输出无需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"]