rubyrus wrote: > Can anybody help me here, TIA!! > > This is the code. I expect to see the string "Afterward:turkey", but > why am I getting "Afterward:camel"? |animal| parameter in a block > should be temporary inside the block, right?? No, it isn't because it was defined outside the block. It's used in cases like count = 0 arr.each { count += 1 } puts "count=#{count}" If you want to keep it local you must not define it in the surrounding scope. Kind regards robert