Hi Adam.  There's only one thing I don't understand:

a = 1; [2].each { |;a| p a; }; a            #=> nil; 1
a = 1; [2].each { |;a| p a; a = 2; p a }; a #=> nil; 2; 1

This is the first time I've seen a variable passed into a code block 
with a semicolon preceding it
|;a|
and also semicolon following the variable
p a;

I'm not sure what it does nor do I understand its significance. =)

-- 
Posted via http://www.ruby-forum.com/.