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?
TIA
Fernando C. wrote:
But if I try to use ‘require’, it searches for the program in the ruby
distribution.
Never mind… the current folder is included in the search path, I just
got
confused by an error message from the loaded program.
Is there a way to specify within the top level script
itself where to search?
FWIW
$: << “additional_path”
seems to do it, according to “Programming ruby”
On Nov 6, 2007, at 1:00 PM, Fernando C. wrote:
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