|  | Copyright |
|  | Foreword |
|  | About the Author |
|  | Acknowledgments |
|  | Tell Us What You Think! |
|  | Introduction |
| |  | How This Book Works |
| |  | What Is the Ruby Way? |
|  | Chapter 1. Ruby in Review |
| |  | Some Words on Object Orientation |
| |  | Basic Ruby Syntax and Semantics |
| |  | OOP in Ruby |
| |  | Dynamic Aspects of Ruby |
| |  | Training Your Intuition: Things to Remember |
|  | Chapter 2. Simple Data Tasks |
| |  | Strings |
| |  | Regular Expressions |
| |  | Numbers |
| |  | Times and Dates |
| |  | Summary |
|  | Chapter 3. Manipulating Structured Data |
| |  | Working with Arrays |
| |  | Working with Hashes |
| |  | Working with Stacks and Queues |
| |  | Working with Trees |
| |  | Working with Graphs |
| |  | Summary |
|  | Chapter 4. External Data Manipulation |
| |  | Working with Files and Directories |
| |  | Performing Higher-Level Data Access |
| |  | Connecting to External Databases |
| |  | Summary |
|  | Chapter 5. OOP and Dynamicity in Ruby |
| |  | Everyday OOP Tasks |
| |  | More Advanced Techniques |
| |  | Working in Advanced Programming Disciplines |
| |  | Summary |
|  | Chapter 6. Graphical Interfaces for Ruby |
| |  | Ruby/Tk |
| |  | Ruby/GTK |
| |  | FX/Ruby (FOX) |
| |  | Other GUIs |
| |  | Summary |
|  | Chapter 7. Ruby Threads |
| |  | Creating and Manipulating Threads |
| |  | Synchronizing Threads |
| |  | Summary |
|  | Chapter 8. Scripting and System Administration |
| |  | Running External Programs |
| |  | Command-Line Options and Arguments |
| |  | The Shell Library |
| |  | Accessing Environment Variables |
| |  | Scripting in Microsoft Windows |
| |  | Working with Files, Directories, and Trees |
| |  | Miscellaneous Scripting Tasks |
| |  | Summary |
|  | Chapter 9. Network and Web Programming |
| |  | Network Servers |
| |  | Network Clients |
| |  | Ruby and the Web Server |
| |  | Ruby and CGI Programming |
| |  | Distributed Ruby |
| |  | XML Parsing in Ruby |
| |  | Summary |
|  | appendix A. From Perl to Ruby |
| |  | Ruby One-Liners |
| |  | Another Code Example |
| |  | More Examples |
| |  | Modules, Etc. |
| |  | Miscellaneous |
|  | appendix B. From Python to Ruby |
| |  | A Different World View |
| |  | A Different Program Model |
| |  | Some Syntax Differences |
| |  | Keywords |
| |  | Variable Prefixes |
| |  | Objects |
| |  | Methods |
| |  | Methods and Dot Notation |
| |  | Method Calls and Parentheses |
| |  | Method Naming Conflicts |
| |  | Parameters and Default Arguments |
| |  | proc s and iterator Blocks |
| |  | Statements and Expressions |
| |  | Basic I/O |
| |  | Numbers |
| |  | Strings |
| |  | True and False Values |
| |  | Arrays |
| |  | Dictionaries Are Hashes |
| |  | Classes |
| |  | Modules |
| |  | Threading Model |
| |  | Exception Handling |
| |  | Garbage Collection |
| |  | Extensions |
| |  | Some More Equivalencies |
| |  | Other Notes |
| |  | Conclusion |
|  | appendix C. Tools and Utilities |
| |  | Programming Aids |
| |  | RAD Tools and IDEs |
| |  | Ruby Online Documentation |
| |  | Miscellaneous Interactive Tools |
| |  | Documentation Aids |
|  | appendix D. Resources on the Web (and Elsewhere) |
| |  | Web Page for This Book |
| |  | Web Resources for Ruby |
| |  | Mailing Lists and Newsgroups |
| |  | Ruby on IRC |
| |  | Other Ruby Books |
| |  | Other Recommended Books |
|  | appendix E. What's New in Ruby 1.8 |
| |  | Changes in Syntax and General Behavior |
| |  | Changes in Libraries |
| |  | Changes in Modules and Classes |
|  | |