diff --git a/numeric.c b/numeric.c index ef72491987..da0bad3211 100644 --- a/numeric.c +++ b/numeric.c @@ -2654,9 +2654,11 @@ num_step_size(VALUE from, VALUE args, VALUE eobj) /* * call-seq: * num.step(by: step, to: limit) {|i| block } -> self - * num.step(by: step, to: limit) -> an_enumerator + * num.step(by: step, to: limit) -> an_enumerator + * num.step(by: step, to: limit) -> an_arithmetic_sequence * num.step(limit=nil, step=1) {|i| block } -> self * num.step(limit=nil, step=1) -> an_enumerator + * num.step(limit=nil, step=1) -> an_arithmetic_sequence * * Invokes the given block with the sequence of numbers starting at +num+, * incremented by +step+ (defaulted to +1+) on each call. @@ -2685,6 +2687,8 @@ num_step_size(VALUE from, VALUE args, VALUE eobj) * and increments itself using the + operator. * * If no block is given, an Enumerator is returned instead. + * Especially, the enumerator is an Enumerator::ArithmeticSequence + * if both +limit+ and +step+ are kind of Numeric or nil. * * For example: * diff --git a/range.c b/range.c index 2763b323eb..d781af3f2e 100644 --- a/range.c +++ b/range.c @@ -353,6 +353,7 @@ range_step_size(VALUE range, VALUE args, VALUE eobj) * call-seq: * rng.step(n=1) {| obj | block } -> rng * rng.step(n=1) -> an_enumerator + * rng.step(n=1) -> an_arithmetic_sequence * * Iterates over the range, passing each nth element to the block. * If begin and end are numeric, +n+ is added for each iteration. @@ -360,6 +361,8 @@ range_step_size(VALUE range, VALUE args, VALUE eobj) * range elements. * * If no block is given, an enumerator is returned instead. + * Especially, the enumerator is an Enumerator::ArithmeticSequence + * if begin and end of the range are numeric. * * range = Xs.new(1)..Xs.new(10) * range.step(2) {|x| puts x}