Mark Volkmann <r.mark.volkmann / gmail.com> wrote: > On 3/22/06, Mohammad Khan <mkhan / lextranet.com> wrote: >> mkhan@mkhan:~$ irb >> irb(main):001:0> batman = 'robin' >> => "robin" >> irb(main):002:0> [ 'cat', 'dog', 'horse', 'chicken' ].each { |batman| >> puts batman } >> cat >> dog >> horse >> chicken >> => ["cat", "dog", "horse", "chicken"] >> irb(main):003:0> puts "Now you might think this would say 'robin', >> but it says: #{batman}" >> Now you might think this would say 'robin', but it says: chicken >> => nil > > It's true that blocks introduce a new scope. > However, if they use variables that are in scope outside the block, > they don't shadow those variables, they use them. .... like in other programming languages as well. robert