What does $: point to in a ruby (shell) script?

I have a script with the first line as follows:

$:.unshift(File.dirname(FILE) + ‘/…/lib’)

This must mean something nasty to Google, because I can’t seem to get
anything useful if I include it in a search string, even quoted. Ditto
stackoverflow and rubytips.

Having this line at the beginning of this script seems to treat the
require statements that follow it differently than a normal
require would, or at least I am not getting the same errors as I do
when I require the gems without this line.

What does it do?

Thanks,

Walter

Yeah, Google doesn’t care for punctuation of any kind really.

$. is used to denote the load path for Ruby libraries, so the line that
you
have there is to prepend the lib/ directory, which is a peer to the
directory your script is in, to the front of the load path.

FYI, it’s aliased as $LOAD_PATH in case you want to change it for better
clarity.

On 10 February 2011 15:21, Walter Lee D. [email protected] wrote:

I have a script with the first line as follows:

$:.unshift(File.dirname(FILE) + ‘/…/lib’)

My Google-fu is strong today:
http://blog.purifyapp.com/2010/01/04/cryptic-ruby-global-variables-and-their-meanings/

Thanks very much to you and Chris!

Walter

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs