John Lam (CLR) wrote:
>  From the docs: ?If the optional wrap parameter is true, then the loaded 
> script will be executed under an anonymous module, protecting the 
> calling program?s global namespace.?
 >
> Secondary question, should require ?2.rb? respect the true flag from the 
> original load()?

For what it's worth, JRuby obeys the same semantics, though of course we 
generally just do what Ruby does.

In JRuby top-level code executes under a special instance of Object, in 
a special top-level frame. My understanding of load is that it protects 
that object and frame from variables defined in the target script, but 
constants are defined at a higher level (i.e. on Object) and are 
therefore visible whether you require them or not. I believe MRI 
functions much the same way.

- Charlie