i = 10
5.times do |i|
end
i
What would you expect the value of i to be? Coming from a language like Java with its nested variable scoping, I would expect 10. But it is not so in Ruby.
The result is 4, the last value of the variable passed to the block.