[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Difference between include and require for modules?

Jørgen P. Tjernø

7/18/2006 4:54:00 PM

Jatinder Singh wrote:
> What I understand from require statement is that the argument to it is a
> file, where as include requires module/class name.
>
> But once I do a require for a specific ruby file which has various modules
> and classes, doesn't these classes/modules get included automatically?
> infact they do get automatically as I have tried doing so.
>
> But in various files of ruby library I found that people use include
> "modulename" after a require statement for the file which contains that
> module.
>
> Any reasons?
>
> Thanks,
> Jatinder
>

Require is purely used to 'embed' files in other files.

Include is used on modules, and adds so-called "MixIn"-functionality.
It means you "import" the methods of the given Module into the current
class (or Module?).

So, basically, you have a Module that provides some semi-generic
functionality, then you have a class that wants to take advantage of
this functionality.

Example:

module A
def b
"bar"
end
end

class B
include A
end

foo = B.new
foo.b
=> "bar"


I hope this helps!

Ps. this explanation might be horrible, and it might be wrong; I'm not a
"professional" rubyist. ;-)

--
Kindest regards / Med vennlig hilsen,
Jørgen P. Tjernø
<jorgen@devsoft.no>