| |  | 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 |
| |  | |