I like Robert Sosinski's explanation:
http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/