Hi Dave,

Yes, your description matches the current behavior.

The bug question is whether this new behavior (when the step argument
is converted to  integer) is intentional.

It's incompatible with MRI 1.8.6 patchlevel 111 behavior, it produces
confusing exceptions and it silently looses precision. And, it fails
"the rubyspecs", Charlie was mentioning earlier in this thread.

Anyone from core team to clarify? There is some activity in JRuby to
update the Range#step behavior and we'd like to know which way to go.

Thanks,
  --Vladimir

On Sun, Mar 23, 2008 at 9:48 PM, Dave Thomas <dave / pragprog.com> wrote:

>  Here's how this week's beta of the PickAxes describes it:
>
>      \begin{method}{step}{\self.step( \obj{n}=1 )
>           \opt{\blockp{obj}} \returns{\self{} or \obj{enum}}}{A}
>  \newin{1.9}%
>         Iterates over \self, passing each $n^{th}$ element to the
>         block. If the range contains numbers, addition by one is used
>         to generate
>         successive elements.
>         Otherwise \METHOD{step} invokes \METHOD{succ}
>         to iterate through range elements. If no block is given,
>         an enumerator is returned. The following code uses
>         class \C{Xs} defined at the start of this section.