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?
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?
You can use relative/absolute paths with require. Combined with
__FILE__, more precisely File.dirname(__FILE__), you can require other
files relative to your current one.
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
···
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?