First things first, this is not a first Ruby book, but once you’ve gotten you feet wet with Ruby, this is a great book to help you get to the next level. It features eight projects in nine chapters (one per chapter, plus an introduction), that should entertain while they teach you more about Ruby programming. I do wish Topher had included a set of exercises or enhancment suggestions in each chapter to point the way to some next steps, but that’s a pretty niggling issue.
The first three project chapters (two through four) all introduce some cool, lesser known Ruby skills:
- Chapter 2, Making Music With Ruby, uses the DL library to link against existing MIDI libraries in C.
- Chapter 3, Animating Ruby, builds a DSL to create SVG files, rasterize them, and finally build simple animations with them.
- Chapter 4, Pocket Change, uses memoization to help speed up largish simulations running in Ruby (this could be a cool place to jump into RubyInline to revisit C if you’re looking for a follow-on project)
The other chapters continue to build Ruby hacking skills with some really cool projects. Chapters five and six build a turn-based strategy game (DinoWars), then use RubyCocoa to put a pretty face on it. Chapter seven dives into genetic algorithms (see also my interview with Sander Land on the same topic). Chapter eight implements Lisp in Ruby. Finally, chapter nine is all about using Ruby to build parsers.
Topher knows his Ruby (in chapter four, he dives into the internals of Ruby’s Hash class), and through this book he helps the reader build a solid base of Ruby knowledge as well. If you’re looking for a way to push your Ruby-fu to the next level, Practical Ruby Projects is a great way to go.