Blocks, Procs, and Lambdas in Ruby

Blocks are everywhere in Ruby: every each, map, and File.open relies on them. Treat blocks, procs and lambdas as one idea and the iterator methods you use daily become methods you can write yourself.