matz / zetabits.com (Yukihiro Matsumoto) writes:


[...]

> I meant propagation from local variable scope made by block, not out
> of other scopes (methods, classes etc.)

Do you mean that following program would be valid:


for i in 0..10
    puts "in #{i}"
    [1,2].each { |j|
	puts "each #{j}"
    }
    puts "each ended with #{j}"
end


In my opinion, this is super-dirty, and by far something you don't expect
from your program. I don't know any language that would allow this kind of
thing? Fortunately, this is not allowed in current Ruby...

Only situation under which I see this happening, would be that new <..>
notation would be used all the times, and one would use |..| when he
explicetely needs that his variable get exported in the outer scope. Is it
more or less what you see happening?

I think we need to keep a clean and clear situation for variable scoping,
with languages for which variables have no types and no declaration is
needed, just as Ruby is[1].



Footnotes: 
[1] quoting ruby(1) :-)

-- 
Guillaume Cottenceau - http://mandrakesoft.com/~gc/