diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-07-07 22:10:32 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-07-07 22:10:32 +0900 |
| commit | 32c2aa10c79e37c53411b1d693c6c8d010fba7bb (patch) | |
| tree | abdcba7eb044b72422af2ef9c5c1ef7f3f503b9b /mrblib | |
| parent | 280a83f029c91a8b4c08e76a0d70234c05b7825c (diff) | |
| download | mruby-32c2aa10c79e37c53411b1d693c6c8d010fba7bb.tar.gz mruby-32c2aa10c79e37c53411b1d693c6c8d010fba7bb.zip | |
Fix `Numeric#step` to infinity; ref. #4555
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/numeric.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mrblib/numeric.rb b/mrblib/numeric.rb index 5a3c5eb58..5926518d5 100644 --- a/mrblib/numeric.rb +++ b/mrblib/numeric.rb @@ -105,14 +105,14 @@ module Integral return to_enum(:step, num, step) unless block i = __coerce_step_counter(num, step) - if num == nil + if num == self || step.infinite? + block.call(i) if step > 0 && i <= (num||i) || step < 0 && i >= (num||-i) + elsif num == nil while true block.call(i) i += step end - return self - end - if step > 0 + elsif step > 0 while i <= num block.call(i) i += step |
