-
Constants (which include modules and classes) are added to the shared global environment:
phrogz$ cat constants1.rb TEST_VARIABLE = "test" phrogz$ cat constants2.rb require_relative 'constants1' p TEST_VARIABLE phrogz$ ruby constants2.rb "test"
-
Instance variables declared in main are all part of the same
main
:phrogz$ cat instance1.rb @test_variable = "test" phrogz$ cat instance2.rb require_relative 'instance1' p @test_variable phrogz$ ruby instance2.rb "test"
-
Global variables are also all part of the same environment (tested in 1.8.6, 1.8.7, and 1.9.2):
phrogz$ cat global1.rb $test_variable = "test" phrogz$ cat global2.rb require_relative 'global1' p $test_variable, RUBY_DESCRIPTION phrogz$ ruby global2.rb "test" "ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]"