It’s easy to write correct Ruby code, but to gain the fluency needed to write great Ruby code, you must go beyond syntax and absorb the “Ruby way” of thinking and problem solving. In Eloquent Ruby, Russ Olsen helps you write Ruby like true Rubyists do–so you can leverage its immense, surprising power.
Olsen draws on years of experience internalizing the Ruby culture and teaching Ruby to other programmers. He guides you to the “Ah Ha!” moments when it suddenly becomes clear why Ruby works the way it does, and how you can take advantage of this language’s elegance and expressiveness.
Eloquent Ruby starts small, answering tactical questions focused on a single statement, method, test, or bug. You’ll learn how to write code that actually looks like Ruby (not Java or C#); why Ruby has so many control structures; how to use strings, expressions, and symbols; and what dynamic typing is really good for.
Next, the book addresses bigger questions related to building methods and classes. You’ll discover why Ruby classes contain so many tiny methods, when to use operator overloading, and when to avoid it. Olsen explains how to write Ruby code that writes its own code–and why you’ll want to. He concludes with powerful project-level features and techniques ranging from gems to Domain Specific Languages.
A part of the renowned Addison-Wesley Professional Ruby Series, Eloquent Ruby will help you “put on your Ruby-colored glasses” and get results that make you a true believer.
Table of Contents
PART I: The Basics
Chapter 1. Write Code That Looks Like Ruby
Chapter 2. Choose the Right Control Structure
Chapter 3. Take Advantage of Ruby’s Smart Collections
Chapter 4. Take Advantage of Ruby’s Smart Strings
Chapter 5. Find the Right String with Regular Expressions
Chapter 6. Use Symbols to Stand for Something
Chapter 7. Treat Everything Like an Object–Because Everything Is
Chapter 8. Embrace Dynamic Typing
Chapter 9. Write Specs!
PART II: Classes, Modules, and Blocks
Chapter 10. Construct Your Classes from Short, Focused Methods
Chapter 11. Define Operators Respectfully
Chapter 12. Create Classes That Understand Equality
Chapter 13. Get the Behavior You Need with Singleton and Class Methods
Chapter 14. Use Class Instance Variables
Chapter 15. Use Modules as Name Spaces
Chapter 16. Use Modules as Mixins
Chapter 17. Use Blocks to Iterate
Chapter 18. Execute Around with a Block
Chapter 19. Save Blocks to Execute Later
PART III: Metaprogramming
Chapter 20. Use Hooks to Keep Your Program Informed
Chapter 21. Use method_missing for Flexible Error Handling
Chapter 22. Use method_missing for Delegation
Chapter 23. Use method_missing to Build Flexible APIs
Chapter 24. Update Existing Classes with Monkey Patching
Chapter 25. Create Self-Modifying Classes
Chapter 26. Create Classes That Modify Their Subclasses
PART IV: Pulling It All Together
Chapter 27. Invent Internal DSLs
Chapter 28. Build External DSLs for Flexible Syntax
Chapter 29. Package Your Programs as Gems
Chapter 30. Know Your Ruby Implementation
Chapter 31. Keep an Open Mind to Go with Those Open Classes
Appendix. Going Further
- Paperback: 448 pages
- Publisher: Addison-Wesley Professional (February 2011)
- Language: English
- ISBN-10: 0321584104
- ISBN-13: 978-0321584106