In message "[ruby-talk:12457] Re: FEATURE REQUEST: 'my' local variables"
    on 01/03/12, Yukihiro Matsumoto <matz / zetabits.com> writes:
>|May I show yet another syntax?
>|
>|  loop {|a, b, c; d, e|  ...  }
>
>Could you tell me the semantics?

I'm sorry for my wrong example "loop".  I should not use "loop":

Parameters on the left side of the semicolon declare shadowed
variables with their initial values nil (see below) while params on
the right side of the semicolon are just ruled by the current model.

For example, loop{|a| ... } means as same as the current model.  In
loop{|a;b| b = a; .... }, b is a shadowed counter.

-- Gotoken