Hi,

OK, OK.  Let me finalize this thread.

First, I will not introduce "my" as a keyword to Ruby.

I'm thinking of something like

  loop {<a, b, c|d, e, f>
    ...
  }

that declares block parameters a, b, c, and new local variables d, e,
f, effective within the block, regardless of existence of outer
variables of same names.  Shadowing outer variables is allowed but you
will be warned (it's bad habit anyway).

But this might require heavy rewrite of the core, so it would take
time for you to see this would happen.

We've discussed before.  Seek the archive.

|Btw, I agree that the scope rule for "do-end" is comlicated a little.
|In Shugo's diary, he shows a surprising example:
|
|  1.times do
|    id = 0
|  end
|
|  p id
|
|But it is a different topic, maybe. 

I know, I know.  This is the biggest mistake I've ever made.  I'm
still seeking the way to avoid this.  I believe it's possible, but I
think it requires hard work.

							matz.