summaryrefslogtreecommitdiffhomepage
path: root/mrblib
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-07-08 18:50:28 +0900
committerGitHub <[email protected]>2019-07-08 18:50:28 +0900
commitfd4e37404b4c37fff429d8e16f7e992f1dde4ac7 (patch)
treedad168c0117cd9df47112a2b19a53112726db2be /mrblib
parent519f3963654d01ddc0c810cda1c5be365bc21f87 (diff)
parent32c2aa10c79e37c53411b1d693c6c8d010fba7bb (diff)
downloadmruby-fd4e37404b4c37fff429d8e16f7e992f1dde4ac7.tar.gz
mruby-fd4e37404b4c37fff429d8e16f7e992f1dde4ac7.zip
Merge pull request #4557 from shuujii/fix-Numeric-step-to-infinity
Fix `Numeric#step` to infinity; ref. #4555
Diffstat (limited to 'mrblib')
-rw-r--r--mrblib/numeric.rb8
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