From: Brian Candler Date: 2003-08-07T06:56:50+09:00 Subject: Re: $: - where does it get its initial values? On Thu, Aug 07, 2003 at 05:23:35AM +0900, Tuan Bui wrote: > Where does $: get its values from? The book says that it contains an > array of places to search for loaded files and that it is "initialized > to the list of standard directories, plus any additional ones you > specify using RUBYLIB and -I." Where does ruby get these standard > directories? In ruby.c, look for rb_load_path and calls to ruby_incpush; it is set from a series of compile-time constants and/or environmnet variables. if (rb_safe_level() == 0) { ruby_incpush(getenv("RUBYLIB")); } #ifdef RUBY_SEARCH_PATH ruby_incpush(RUBY_RELATIVE(RUBY_SEARCH_PATH)); #endif ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB2)); #ifdef RUBY_SITE_THIN_ARCHLIB ruby_incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB)); #endif ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB)); ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB)); ruby_incpush(RUBY_RELATIVE(RUBY_LIB)); #ifdef RUBY_THIN_ARCHLIB ruby_incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB)); #endif ruby_incpush(RUBY_RELATIVE(RUBY_ARCHLIB)); if (rb_safe_level() == 0) { ruby_incpush("."); }