The Pragmatic Programmer's Guide
One of the major features of Open Source projects is the technical
support. Articles in the mass media often criticize open source
efforts for not having the same tech support that a commercial product
And boy is that a good thing! Instead of dialing up some overworked
and understaffed help desk and being treated to Music On Hold for an
hour or so without ever getting the answer you need, we have a
better solution: the Ruby community. The author of Ruby, the authors
of this book, and many other Ruby users are
willing and able to lend you a hand, should you need it.
The syntax of Ruby remains fairly stable, but as with all
evolving software, new features are added every now and again. As a
result, both printed books and the online documentation can fall
behind. All software has bugs, and Ruby is no exception. There
aren't many, but they do crop up. See the bug reporting section
on page 527 for details.
If you experience a problem with Ruby, feel free to ask in the mailing
lists or on the newsgroup (more on those in just a minute). Generally
you'll get timely answers from Matz himself, the author of the
language, from other gurus, and from those who've solved problems
similar to your own.
There might be similar questions in the mailing lists or on the
newsgroup, and it is good ``netiquette'' to read through recent postings
before asking. If you can't find the answer you need, ask, and a
correct answer will usually show up with remarkable speed and
The official Ruby Home Page is http://www.ruby-lang.org.
You can also find Ruby information at
http://www.rubycentral.com. In particular, you'll find
complete online references to Ruby's built-in classes and modules at http://www.rubycentral.com/ref/, and to the Ruby FAQ at http://www.rubycentral.com/faq/.
While you're surfing, drop in on
http://www.pragmaticprogrammer.com and see what we're up to.
The latest version of Ruby can be downloaded from: http://www.ruby-lang.org/en/download.html.
Mirror sites are:
Precompiled Windows binaries (using cygwin) are in the pc/ subdirectory.
Ruby has its own newsgroup, comp.lang.ruby. Traffic on this group
is archived and mirrored to the ruby-talk mailing list.
There are five mailing lists now talking about Ruby. The first is in
English, the last four in Japanese:
||English language discussion of Ruby
(mirrored to comp.lang.ruby).
||Japanese language discussion of Ruby.
||List for Ruby developers.
||List for people writing extensions for or with Ruby.
||Ruby in mathematics.
See http://www.ruby-lang.org/en/ml.html for details on joining a
The mailing lists are archived, and can be searched using http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml.
If you think you've spotted a bug in Ruby, you may want to browse the
bug database at http://www.ruby-lang.org/cgi-bin/ruby-bugs.
You may also want to check to see if a new version of Ruby is
available---perhaps the bug you've found has already been fixed.
You can submit a bug report either by using the Web page mentioned above
or by sending an e-mail to email@example.com.
When reporting a suspected bug, it would be a good idea to include the
output of ``ruby -v'' along with any problematic source code.
People will also need to know the operating system you're running. If
you compiled your own version of Ruby, it might be a good idea to
attach your rbconfig.rb file as well.
If you have a problem using irb, be aware of its limitations (see the
reference section beginning on page 517). See what happens
using just Ruby itself.
Extracted from the book "Programming Ruby -
The Pragmatic Programmer's Guide"
2001 by Addison Wesley Longman, Inc. This material may
be distributed only subject to the terms and conditions set forth in
the Open Publication License, v1.0 or later (the latest version is
presently available at http://www.opencontent.org/openpub/)).
Distribution of substantively modified versions of this document is
prohibited without the explicit permission of the copyright holder.
Distribution of the work or derivative of the work in any standard
(paper) book form is prohibited unless prior permission is obtained
from the copyright holder.