From: Xavier Noria Date: 2007-11-06T21:54:58+09:00 Subject: Re: Using 'require' with modules in the same folder On Nov 6, 2007, at 1:00 PM, Fernando Cacciola wrote: > Hi people, > > I've modularized my very first ruby program (a port of a bash script). > > However, if I use 'load' and the target program is loaded multiple > times (indirectly), I get warnings about redefinition of constants, > etc (understandably) > > But if I try to use 'require', it searches for the program in the > ruby distribution. Is there a way to specify within the top level > script itself where to search? Yes, there's a standard idiom for that: $:.unshift(File.dirname(__FILE__)) which means: prepend to the list of directories where libraries are searched ($:) the directory where this file lives. Note that does not assume the directory is the current working directory, since __FILE__ points to the containing file, no matter how is being evaled. -- fxn