>>>>> "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