Hi,
In message "[ruby-talk:00879] local / dynamic variables"
on 99/10/29, Clemens Hintze <c.hintze / gmx.net> writes:
>> This is probably a stupid question, but why in a block a variable is not
>> always dynamic when this variable is defined between | | ?
>
>This, I don't know for sure, but I assume, that the variables between
>| | are not local ones, but denote that these ones are used to serve
>as block parameters!
>
>Every variable created within a block, is local to the block; means
>not known outside. If the variable between | | is created in the
>block, it serves as parameter *and* is local to it!
>
>So, I guess, | | is not a sign for locallity. Only for parameter denoting.
Great! This explanation is easy to see :-)
However, I feel a small weak point; This explanation cannot be in
common with the case of a method definition, that is,
arg of "def foo(arg)" is shielded from outer scope but |x| doesn't.
Of course, it may be a small thing.
-- gotoken