Currently, the following code

   a = [1, 2, 3, 4, 5]
   a[0, 3]

returns

   [1, 2, 3]

This is somewhat counter-intuitive.  Since Ruby has a built-in range
type, [] ought to take advantage of it.  I propose that the []
operators be redefined so that this behavior can only be achieved by
explicitly providing a Range, e.g.  a[0...3].  The original code would
then work like #values_at and return [1, 3].

Also, I don't know what happened with the earlier mention about the
confusion between .. / ... but I'm a supporter of getting rid of '...'
and just making .. inclusive.  Exclusive ranges can be represented
with 0..(n + 1) if necessary.  I don't know if this is appropriate for
an RCR.

I think the above [] behavior is more in keeping with POLS and is
slightly more intuitive than the current default.

Obviously this suggestion (and the sub-suggestion about .. and ...)
would break existing code.  I don't know if RCR's are allowed to do
that, but I'm just throwing this idea out there.

Bill Atkins