2009/2/4 Zayd C. email@example.com:
I’m confused with the difference between gems and classes. Are they
considered the same thing? I familiar with what a class is, but where do
gems fall into place. Do you use them sort of like an include in C\C++?.
Can someone give me a simple example.
What about Modules? How are they used in Ruby?
A module serves as namespace or as mixin (essentially
a bag of methods).
A class is a module (really, Class inherits from Module)
that can be instantiated. Every object has a class that
was used to instantiate it (you can get it with the “class”
There is no such thing as a “gem” on the language
level. A gem is a package of Ruby code. It can package
any number of modules, classes, source files, and
associated data files.
The require function is used to load source files. It looks for
source files on the load path ($LOAD_PATH). In order for
require to find source files installed as gem, you have
to load the gem (require “rubygems”; gem “some-gem”).
Ruby 1.9 ships with RubyGems and source files from gems
are automatically on the load path.