Dave Thomas wrote:

> I'm beginning to view index variables in Ruby programs as a code smell,
> so I much prefer having the functionality encapsulated like this.

Interesting you say that.  I made a similar comment to a friend of mine 
just this morning, when I was talking about the recent discussions of ++ on 
the ML.

I said that, while I was initially shocked that a language which provided 
everything I could ever ask for didn't provide a ++ operator, I soon 
discovered that I almost never wanted one, anyway, because mostly they're 
used to do things one does with iterators in Ruby.