From: Jason Roelofs Date: 2008-06-12T01:40:16+09:00 Subject: Re: how to avoid multiple inclusion of a file On Wed, Jun 11, 2008 at 12:34 PM, suresh wrote: > On Jun 11, 9:28 pm, Jason Roelofs 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 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. > > suresh > > I just told you how to avoid it. If you're getting collisions, then you're doing what I've outlined above. Jason