Ruby is an agile object-oriented language, borrowing some of the best features from LISP, Smalltalk, Perl, CLU, and other languages. Its popularity has grown tremendously in the five years since the first edition of this book.


The Ruby Way takes a “how-to” approach to Ruby programming with the bulk of the material consisting of more than 400 examples arranged by topic. Each example answers the question “How do I do this in Ruby?” Working along with the author, you are presented with the task description and a discussion of the technical constraints. This is followed by a step-by-step presentation of one good solution. Along the way, the author provides detailed commentary and explanations to aid your understanding.


Coverage includes


•    An overview of Ruby, explaining terminology and basic principles

•    Operations on low-level data types (numbers, strings, regular expressions, dates)

•    The new regular expression engine (Oniguruma)

•    Internationalization (I18N) and message catalogs in Ruby

•    Operations on hashes, arrays, and other data structures such as stacks, trees, and graphs

•    Working with general I/O, files, and persistent objects

•    Database coverage including MySQL, SQLite, Oracle, DBI, and more

•    Ruby-specific techniques in OOP and dynamic programming

•    Graphical interfaces in Ruby (Tk, GTK+, Fox, and Qt)

•    Working with Ruby threads for lightweight multitasking

•    Everyday scripting and system administration in Ruby

•    Working with image files, PDFs, YAML, XML, RSS, and Atom

•    Testing, debugging, profiling, and packaging Ruby code

•    Low-level network programming and client-server interaction

•    Web development tools including Rails, Nitro, Wee, IOWA, and more

•    Working with distributed Ruby, Rinda, and Ring

•    Ruby development tools such as IDEs, documentation tools, and more


The source code for the book can be downloaded from



Hal Fulton has worked for over 15 years with variousforms of Unix, including AIX, Solaris, and Linux. He was first exposed to Ruby in 1999, and in 2001 he began work on the first edition of this book–the second Ruby book published in the English language. He has attendednumerous Ruby conferences and has given presentations at several of those, including the first European Ruby Conference. 


He has two degrees in computer science from the University of Mississippi and taught computer science for four years before moving to Austin, Texas to work as a contractor for variouscompanies, including IBM Austin.  Hal currently works at Broadwing Communications in Austin, Texas, maintaining a large data warehouse and related telecom applications, working daily with C++, Oracle, and, of course, Ruby.



More on