[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5592] Re: local variables (nested, in-block, parameters, etc.)

From: "Guy N. Hurst" <gnhurst@...>
Date: 2000-10-16 16:33:54 UTC
List: ruby-talk #5592
Yukihiro Matsumoto wrote:
> 
> Hi,
> 
> In message "[ruby-talk:5555] Re: local variables (nested, in-block, parameters, etc.)"
>     on 00/10/16, Clemens Hintze <cle@qiao.localnet> writes:
> 
> |  { |a, b, c| ... }
> |
> |works as we expect currently, but (in violence of the allowed lexpr) we
> |could allow symbols as well:
> |
> |  { |:a, :b, :c| ... }
> 
> Hmm, changes seems minimal, but I feel symbols as lvalues are less
> self descriptive.
> 
>                                                         matz.

Perhaps my previous post [5548] got lost (or maybe it was too pitiful to answer?),
but it was similar to this except introduced an appended tilde, '~', to denote
that the variable should be treated as block-local, (but with an initial value
equivalent to any matching local variable).

{|a~,b~| ... }

This would allow mixing:

{|a~,b~,c,d| .... }

And would not change how the expressions in the block were formed,
because the tilde would only be used inside the "| |" portion:

{|a~,b~,c,d| a+=1; c=2; print "a=#{a}, c=#{c}" }

I now do not have to keep track of variables outside of the block to avoid
conflicts after the block. :-)

In summary, using |b~| simply means that a new block var named b is created with
the initial value of local var b, if it exists. Nothing else changes. It is mere
syntax sugar to add some control to block scoping.

Thus, it would be easy to tell which variables were new for the block (b~) and 
which were shared locals (c) that continue after the block. 


Am I out in left field, or is this sensible?


Guy N. Hurst

-- 
HurstLinks Web Development    http://www.hurstlinks.com/
Norfolk, VA - (757)623-9688
PHP/MySQL - Ruby/Perl - HTML/Javascript

In This Thread