My program is split up into multiple files, each containing a set of
related class definitions. In the main file, all these files are
included by using require. But how can i avoid multiple inclusion of a
file by mistake.
Is there anything similar to C languages #ifndef .......
As long as the require lines are exactly the same, there's nothing to
worry about.
file1.rb:
require 'lib'
file2.rb:
require 'lib'
This will work fine. You will run into problems if you put relative
paths though:
file1.rb:
require 'lib'
lower/file3.rb:
require '../lib'
This will end up require-ing lib.rb twice, and possibly cause problems.
Either use full paths, or add directories to the $LOAD_PATH to protect
against this.
Jason
···
On Wed, Jun 11, 2008 at 12:24 PM, suresh <suresh.amritapuri@gmail.com> wrote:
Hi
My program is split up into multiple files, each containing a set of
related class definitions. In the main file, all these files are
included by using require. But how can i avoid multiple inclusion of a
file by mistake.
Is there anything similar to C languages #ifndef .......
Will tell you what happened to me. I had some database populating code
in some import class definitions. By mistake that file got included
twice and I had to spend a lot of time to figure out how this
happened. So thats why my question, how can I avoid multiple inclusion
of files.
suresh
···
On Jun 11, 9:28 pm, Jason Roelofs <jameskil...@gmail.com> wrote:
As long as the require lines are exactly the same, there's nothing to
worry about.
file1.rb:
require 'lib'
file2.rb:
require 'lib'
This will work fine. You will run into problems if you put relative
paths though:
file1.rb:
require 'lib'
lower/file3.rb:
require '../lib'
This will end up require-ing lib.rb twice, and possibly cause problems.
Either use full paths, or add directories to the $LOAD_PATH to protect
against this.
Jason
On Wed, Jun 11, 2008 at 12:24 PM, suresh <suresh.amritap...@gmail.com> wrote:
> Hi
> My program is split up into multiple files, each containing a set of
> related class definitions. In the main file, all these files are
> included by using require. But how can i avoid multiple inclusion of a
> file by mistake.
> Is there anything similar to C languages #ifndef .......
I just told you how to avoid it. If you're getting collisions, then
you're doing what I've outlined above.
Jason
···
On Wed, Jun 11, 2008 at 12:34 PM, suresh <suresh.amritapuri@gmail.com> wrote:
On Jun 11, 9:28 pm, Jason Roelofs <jameskil...@gmail.com> wrote:
As long as the require lines are exactly the same, there's nothing to
worry about.
file1.rb:
require 'lib'
file2.rb:
require 'lib'
This will work fine. You will run into problems if you put relative
paths though:
file1.rb:
require 'lib'
lower/file3.rb:
require '../lib'
This will end up require-ing lib.rb twice, and possibly cause problems.
Either use full paths, or add directories to the $LOAD_PATH to protect
against this.
Jason
On Wed, Jun 11, 2008 at 12:24 PM, suresh <suresh.amritap...@gmail.com> wrote:
> Hi
> My program is split up into multiple files, each containing a set of
> related class definitions. In the main file, all these files are
> included by using require. But how can i avoid multiple inclusion of a
> file by mistake.
> Is there anything similar to C languages #ifndef .......
> thanks
> suresh
Hi Jason,
Will tell you what happened to me. I had some database populating code
in some import class definitions. By mistake that file got included
twice and I had to spend a lot of time to figure out how this
happened. So thats why my question, how can I avoid multiple inclusion
of files.
Will tell you what happened to me. I had some database populating code
in some import class definitions. By mistake that file got included
twice and I had to spend a lot of time to figure out how this
happened. So thats why my question, how can I avoid multiple inclusion
of files.
suresh
--
we can deny everything, except that we have the possibility of being better. simply reflect on that.
h.h. the 14th dalai lama