From 653ddd6d3e8da23b0c7a7e85a199ae32486bdbba Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 3 Apr 2014 20:19:54 +0900 Subject: downto, upto, step to return Enumerator --- mrblib/numeric.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mrblib/numeric.rb') diff --git a/mrblib/numeric.rb b/mrblib/numeric.rb index 034019e8b..5be3c90fc 100644 --- a/mrblib/numeric.rb +++ b/mrblib/numeric.rb @@ -45,6 +45,8 @@ module Integral # # ISO 15.2.8.3.15 def downto(num, &block) + return to_enum(:downto, num) unless block_given? + i = self.to_i while(i >= num) block.call(i) @@ -84,6 +86,8 @@ module Integral # # ISO 15.2.8.3.27 def upto(num, &block) + return to_enum(:upto, num) unless block_given? + i = self.to_i while(i <= num) block.call(i) @@ -97,6 +101,8 @@ module Integral # incremented by +step+ (default 1). # def step(num, step=1, &block) + return to_enum(:step, num, step) unless block_given? + i = if num.kind_of? Float then self.to_f else self end while(i <= num) block.call(i) -- cgit v1.2.3