>>>>> "B" == Brian Candler <B.Candler / pobox.com> writes: B> But it's not a local variable - it's a formal parameter to a block. At B> least, that's how I look at it :-) You have found where is your problem, ruby don't see it like this pigeon% cat b.rb #!/usr/bin/ruby class A attr_accessor :a end $m = 12 a = A.new a.a = 24 p a.a, $m [[1, 2]].each {|a.a, $m| } p a.a, $m pigeon% pigeon% b.rb 24 12 1 2 pigeon% Guy Decoux