“Two easy steps to quickly get better at programming Ruby: 1) read about enumerable.rb 2) read it again”
-- Florian Gilcher (@argorak)
I'm adding a step 3 here: know Ruby's Enumerator. Enumerator is a relatively unknown part of the Ruby language, and it makes a great complement to Enumerable: if Enumerable lets you do all kind of useful tasks with a list of things, Enumerator lets you treat almost everything as a list. Together they are powerful!
Ah, and don't worry if you didn't follow Florian's advice. We'll start with a short introduction to Enumerable :)