See below...

In article <39EDE85F.C6FBB86C / earthlink.net>,
  Charles Hixson <charleshixsn / earthlink.net> wrote:
> "Hal E. Fulton" wrote:

[snip]

>  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!

Well, I see it as a feature rather than a bug... the only problem I
see if when (as I showed before) a for-variable is named the same as
an existing local variable and thus clobbers it. This is related to
our original topic, in a way, isn't it?

Actually, this feature couldn't bite me, because I habitually would
never name a for-variable the same as an existing variable.

And the reason I consider it a feature is that if I break out of the
loop, I can retrieve the value without having to save it off first.

You may also find this interesting: If a for-variable is modified
during the loop, that value remains in effect for the rest of the
loop, but has no effect on subsequent execution. The for-loop simply
assigns values in sequence, blindly and happily (as I think it
should).

  for i in 1..10
    print i, "\n"
    if i == 3
      i = 7
    end
  end

The loop above will execute exactly ten times.

Hal

--
Hal Fulton


Sent via Deja.com http://www.deja.com/
Before you buy.