Tim Morgan wrote: > I have a question about the footnote comment in the Pickaxe book, regarding > require. > Is there any thought given to the handling of $", to filter with > File.extend_path and thus to avoid > multiple loadings? not in Ruby 1.8: irb(main):001:0> require 'set' => true irb(main):002:0> $" => [..., "set.rb"] irb(main):003:0> File.exist?('/usr/local/lib/ruby/1.8/set.rb') => true irb(main):004:0> require '/usr/local/lib/ruby/1.8/set.rb' /usr/local/lib/ruby/1.8/set.rb:397: warning: already initialized constant InspectKey => true irb(main):007:0> require '/usr/local/lib/ruby/1.8/../1.8/set.rb' /usr/local/lib/ruby/1.8/../1.8/set.rb:397: warning: already initialized constant InspectKey => true irb(main):005:0> $" => [..., "set.rb", "/usr/local/lib/ruby/1.8/set.rb"] irb(main):006:0> RUBY_VERSION => "1.8.6" According to eigenclass.org, Ruby 1.9 changes this and filters everything through File.expand_path: http://eigenclass.org/hiki/Changes+in+Ruby+1.9#l25 [murphy]