Consider this rather silly snippet:
3.times do |round|
cell = uninitialized Int32
if cell == 60
puts "cell = 60, round = #{round}"
puts " (by chance!)" if round == 0
end
cell = 60
end
Does every iteration create cell again, coincidentally placing it at the address used by cell on the preceding iteration (which would explain its value of 60 on the third pass)?
Or does one variable persist across all three iterations, so that I can rely on that?