The Well-Grounded Rubyist, Second Edition
David A. Black
  • June 2014
  • ISBN 9781617291692
  • 536 pages
  • printed in black & white

Once again, the definitive book on Ruby from David Black. A must-have!

William Wheeler, TekSystems

The Well-Grounded Rubyist, Second Edition addresses both newcomers to Ruby as well as Ruby programmers who want to deepen their understanding of the language. This beautifully written and totally revised second edition includes coverage of features that are new in Ruby 2.1, as well as expanded and updated coverage of aspects of the language that have changed.

Table of Contents show full


preface to the first edition acknowledgments about this book about the cover illustration




Part 1 Ruby foundations

1. Chapter 1 Bootstrapping your Ruby literacy

1.1. Basic Ruby language literacy

1.2. Anatomy of the Ruby installation

1.3. Ruby extensions and programming libraries

1.4. Out-of-the-box Ruby tools and applications

1.5. Summary

2. Chapter 2 Objects, methods, and local variables

2.1. Talking to objects

2.2. Crafting an object: The behavior of a ticket

2.3. The innate behaviors of an object

2.4. A close look at method arguments

2.5. Local variables and variable assignment

2.6. Summary

3. Chapter 3 Organizing objects with classes

3.1. Classes and instances

3.2. Instance variables and object state

3.3. Setter methods

3.4. Attributes and the attr_* method family

3.5. Inheritance and the Ruby class hierarchy

3.6. Classes as objects and message receivers

3.7. Constants up close

3.8. Nature vs. nurture in Ruby objects

3.9. Summary

4. Chapter 4 Modules and program organization

4.1. Basics of module creation and use

4.2. Modules, classes, and method lookup

4.3. The method_missing method

4.4. Class/module design and naming

4.5. Summary

5. Chapter 5 The default object (self), scope, and visibility

5.1. Understanding self, the current/default object

5.2. Determining scope

5.3. Deploying method-access rules

5.4. Writing and using top-level methods

5.5. Summary

6. Chapter 6 Control-flow techniques

6.1. Conditional code execution

6.2. Repeating actions with loops

6.3. Iterators and code blocks

6.4. Error handling and exceptions

6.5. Summary

Part 2 Built-in classes and modules

7. Chapter 7 Built-in essentials

7.1. Ruby’s literal constructors

7.2. Recurrent syntactic sugar

7.3. Bang (!) methods and “danger”

7.4. Built-in and custom to_* (conversion) methods

7.5. Boolean states, Boolean objects, and nil

7.6. Comparing two objects

7.7. Inspecting object capabilities

7.8. Summary

8. Chapter 8 Strings, symbols, and other scalar objects

8.1. Working with strings

8.2. Symbols and their uses

8.3. Numerical objects

8.4. Times and dates

8.5. Summary

9. Chapter 9 Collection and container objects

9.1. Arrays and hashes in comparison

9.2. Collection handling with arrays

9.3. Hashes

9.4. Ranges

9.5. Sets

9.6. Summary

10. Chapter 10 Collections central: Enumerable and Enumerator

10.1. Gaining enumerability through each

10.2. Enumerable Boolean queries

10.3. Enumerable searching and selecting

10.4. Element-wise enumerable operations

10.5. Relatives of each

10.6. The map method

10.7. Strings as quasi-enumerables

10.8. Sorting enumerables

10.9. Enumerators and the next dimension of enumerability

10.10. Enumerator semantics and uses

10.11. Enumerator method chaining

10.12. Lazy enumerators

10.13. Summary

11. Chapter 11 Regular expressions and regexp-based string operations

11.1. What are regular expressions?

11.2. Writing regular expressions

11.3. Building a pattern in a regular expression

11.4. Matching, substring captures, and MatchData

11.5. Fine-tuning regular expressions with quantifiers, anchors, and modifiers

11.6. Converting strings and regular expressions to each other

11.7. Common methods that use regular expressions

11.8. Summary

12. Chapter 12 File and I/O operations

12.1. How Ruby’s I/O system is put together

12.2. Basic file operations

12.3. Querying IO and File objects

12.4. Directory manipulation with the Dir class

12.5. File tools from the standard library

12.6. Summary

Part 3 Ruby dynamics

13. Chapter 13 Object individuation

13.1. Where the singleton methods are: The singleton class

13.2. Modifying Ruby’s core classes and modules

13.3. BasicObject as ancestor and class

13.4. Summary

14. Chapter 14 Callable and runnable objects

14.1. Basic anonymous functions: The Proc class

14.2. Creating functions with lambda and →

14.3. Methods as objects

14.4. The eval family of methods

14.5. Parallel execution with threads

14.6. Issuing system commands from inside Ruby programs

14.7. Summary

15. Chapter 15 Callbacks, hooks, and runtime introspection

15.1. Callbacks and hooks

15.2. Interpreting object capability queries

15.3. Introspection of variables and constants

15.4. Tracing execution

15.5. Callbacks and method inspection in practice

15.6. Summary


© 2014 Manning Publications Co.

About the Technology

This is a good time for Ruby! It's powerful like Java or C++, and has dynamic features that let your code react gracefully to changes at runtime. And it's elegant, so creating applications, development tools, and administrative scripts is easier and more straightforward. With the long-awaited Ruby 2, an active development community, and countless libraries and productivity tools, Ruby has come into its own.

About the book

The Well-Grounded Rubyist, Second Edition is a beautifully written tutorial that begins with your first Ruby program and goes on to explore sophisticated topics like callable objects, reflection, and threading. The book concentrates on the language, preparing you to use Ruby in any way you choose. This second edition includes coverage of new Ruby features such as keyword arguments, lazy enumerators, and Module#prepend, along with updated information on new and changed core classes and methods.

What's inside

  • Clear explanations of Ruby concepts
  • Numerous simple examples
  • Updated for Ruby 2.1
  • Prepares you to use Ruby anywhere for any purpose

About the author

David A. Black is an internationally known Ruby developer, author, trainer, speaker, event organizer, and founder of Ruby Central, as well as a Lead Consultant at Cyrus Innovation.

combo $44.99 pBook + eBook
eBook $35.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

All wheat, no chaff—takes you from Ruby programmer to full-fledged Rubyist.

Doug Sparling, Andrews McMeel Universal

Provides powerful insights and digs into Ruby’s quirks. Revelatory.

Ted Roche, Ted Roche & Associates, LLC

The best way to learn Ruby fundamentals.

Derek Sivers,