[#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:5676] Re: local variables (nested, in-block, parameters, etc.)

From: Charles Hixson <charleshixsn@...>
Date: 2000-10-18 18:40:01 UTC
List: ruby-talk #5676
"Hal E. Fulton" wrote:

> >
> > I would prefer that the code in example 1, if in a real program, use a
> different local
> > variable, but I did understand with little effort that it was intended to
> be a local
> > variable.  Any other choice would have increased my surprise.  Several
> languages that use
> > an approximately equivalent form also require that tie loop control
> variable be local.  I
> > think that the languages that don't make this choice are in the minority.
> And deservedly
> > so.
>
> Does this surprise you, then?
>
> index = 345
>
> for index in 1..5
>   print "#{index}\n"
> end
>
> print index   # Prints 5
>
> Hal
>
> > -- (c) Charles Hixson
> > --  Addition of advertisements or hyperlinks to products specifically
> prohibited
> >
> >

Ogh.  Yes!  OTOH, I know that I don't really understand the evaluated symbol
usage.  Still, I would expect it to print:
1
2
3
4
5
345

I don't know what it does print.  OK, I investigated.  I guess that <i>for</i>
isn't establishing a scope.  This does seem a bit inconsistent.  But under ruby
1.6.0 on Win95 it produced 5 as the (final) result.  (Well, nil in eval.rb, but
that's a real quibble.)

You are definitely right.  I expected the loop variable to evaporate, and
instead it staked permanent residence in whatever the current scope was, and I
presume that it would do the same in a real program rather than just in an
eval.rb test.  Definitely something to watch out for!
-- (c) Charles Hixson
--  Addition of advertisements or hyperlinks to products specifically
prohibited



In This Thread