10.1 Gaining enumerability through each
10.2 Enumerable Boolean queries
10.3 Enumerable searching and selecting
10.3.1 Getting the first match with find
10.3.2 Getting all matches with find_all (a.k.a. select) and reject
10.3.3 Selecting on threequal matches with grep
10.3.4 Organizing selection results with group_by and partition
10.4 Element-wise enumerable operations
10.4.1 The first method
10.4.2 The take and drop methods
10.4.3 The min and max methods
10.5 Relatives of each
10.5.1 reverse_each
10.5.2 The each_with_index method (and each.with_index)
10.5.3 The each_slice and each_cons methods
10.5.4 The slice_ family of methods
10.5.5 The cycle method
10.5.6 Enumerable reduction with inject
10.6 The map method
10.6.1 The return value of map
10.6.2 In-place mapping with map!
10.7 Strings as quasi-enumerables
10.8 Sorting enumerables
10.8.1 Defining sort-order logic with a block
10.8.2 Concise sorting with sort_by
10.8.3 Sorting enumerables and the Comparable module
10.9 Enumerators and the next dimension of enumerability
10.9.1 Creating enumerators with a code block
10.9.2 Attaching enumerators to other objects
10.9.3 Implicit creation of enumerators by blockless iterator calls
10.10 Enumerator semantics and uses
10.10.1 How to use an enumerator’s each method
10.10.2 Protecting objects with enumerators
10.10.3 Fine-grained iteration with enumerators
10.10.4 Adding enumerability with an enumerator
10.11 Enumerator method chaining
10.11.2 Indexing enumerables with with_index
10.11.3 Exclusive-or operations on strings with enumerators
10.12 Lazy enumerators
10.12.1 FizzBuzz with a lazy enumerator
Summary