matju considers:
> skip(2) makes range call .succ.succ instead of .succ; but 
> with skip(1000)
> this may be an issue; so why not use .+ instead of .succ ? what about
> negative skips, and how should they be handled?

While you have pretty good idea here, don't forget that .succ is has been
chosen so that you can go over strings and String.+ wouldn't be so useful
here. Actually I have to say I haven't had ever need to go over strings, but
if I'd be coding excel someday I might have a need, as the columns in it are
named like A,B,..Z,AA,AB,... And that's exactly how the curernt
implementation works. There has been some discussions though.

I'd say skipping ranges would be good thing to have anyway. And if I had to
trade, I'd lose .succing.

> Oh, and #skip could be called STEP like in BASIC (just lose the

In any event, we shouldn't forget 

  1.step(10,2) { |i| print i, " " }   #=> 1 3 5 7 9

just as http://dev.rubycentral.com/ref/ref_c_integer.html#step says. And
there we have the step we need :). And works for negative
skipping..uh..stepping too.

	- Aleksi