Preface
Welcome to the second edition of The Well-Grounded Rubyist. In the five years since the first edition came out, the Ruby language has changed and evolved—most notably with the release, on Ruby’s twentieth birthday (February 24, 2013), of Ruby 2.0. At the end of 2013—Christmas, to be precise—Ruby 2.1 was released; that’s the version covered in this edition.
The Well-Grounded Rubyist has been very well-received. It seemed to hit a sweet spot for a lot of readers, including many who were completely new to Ruby, as well as many who had done some Ruby already but wanted to make a thorough pass through the language and make sure they really understood it. I’ve been particularly pleased by those comments that describe the experience of reading the book as being like working directly with a Ruby teacher. After all, I am a Ruby teacher, and though teaching involves wearing a different hat than writing, the two hats aren’t all that different after all.
Much hasn’t changed in Ruby—but quite a lot has. This second edition includes a lot of new material, along with an extensive review and reworking of the original text. As with the first edition, the book doesn’t pretend to be an exhaustive Ruby and standard library reference (those are available elsewhere), but an in-depth examination and explication of the key aspects of Ruby’s object model, built-in classes, and important programming facilities.