Bharat Ruparel schrieb: > I have a side question. I am not sure when to use: > > 1. load > 2. require > 3. include > > it irb. Can someone give a simple set of guidelines for that? Bharat, in addition to what Aur said, let me explain it again: #require looks for a *file* in the Ruby load path and executes it, if it hasn't done so already. This is the normal way to load libraries. #load is rarely used, as Aur said. The main difference to #require is that the file is executed everytime the #load method is called, not only the first time. The files executed with #require and #load normally define or extend classes and modules. #include allows you to include the methods of *modules* into your current class. Often the included modules come from previously required files, so you often see a sequence like this: require <name-of-file> class MyClass include <module-defined-in-file-loaded-above> end Regards, Pit