The Ruby Way: Solutions and Techniques in Ruby Programming, 2/e (Paperback)

Hal Fulton

  • 出版商: Addison Wesley
  • 出版日期: 2006-11-04
  • 定價: $1,500
  • 售價: 2.7$399
  • 語言: 英文
  • 頁數: 888
  • 裝訂: Paperback
  • ISBN: 0672328844
  • ISBN-13: 9780672328848
  • 相關分類: Ruby
  • 立即出貨(限量) (庫存=1)




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.




Table of Contents




                             About the Author

1   Ruby in Review

    1.1                    An Introduction to Object Orientation

        1.1.1             What Is an Object?

        1.1.2             Inheritance

        1.1.3             Polymorphism

        1.1.4             A Few More Terms

    1.2                    Basic Ruby Syntax and Semantics

        1.2.1             Keywords and Identifiers

        1.2.2             Comments and Embedded Documentation

        1.2.3             Constants, Variables, and Types

        1.2.4             Operators and Precedence

        1.2.5             A Sample Program

        1.2.6             Looping and Branching

        1.2.7             Exceptions

    1.3                    OOP in Ruby

        1.3.1             Objects

        1.3.2             Built-in Classes

        1.3.3             Modules and Mixins

        1.3.4             Creating Classes

        1.3.5             Methods and Attributes

    1.4                    Dynamic Aspects of Ruby

        1.4.1             Coding at Runtime

        1.4.2             Reflection

        1.4.3             Missing Methods

        1.4.4             Garbage Collection (GC)

    1.5                    Training Your Intuition: Things to Remember

        1.5.1             Syntax Issues

        1.5.2             Perspectives in Programming

        1.5.3             Ruby’s case Statement

        1.5.4             Rubyisms and Idioms

        1.5.5             Expression Orientation and Other Miscellaneous Issues

    1.6                    Ruby Jargon and Slang

    1.7                    Conclusion

2   Working with Strings

    2.1                    Representing Ordinary Strings

    2.2                    Representing Strings with Alternate Notations

    2.3                    Using Here-Documents

    2.4                    Finding the Length of a String

    2.5                    Processing a Line at a Time

    2.6                    Processing a Byte at a Time

    2.7                    Performing Specialized String Comparisons

    2.8                    Tokenizing a String