Thanks to all for the help. I take it from the comments here that any variables which are defined in an iteration block (or a Proc)are local to each iteration. Thinking about it, that makes sense because each iteration requires its own call from each (or each_with_index, etc.)...with the variables being treated somewhat like method variables.