summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-enumerator/mrblib
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-02-07 23:52:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-02-08 09:35:28 +0900
commit2650999092cac630e5bacb0a12c96bc642e939e6 (patch)
tree45dcb935e829a23c8573abbd678308c9b967a24e /mrbgems/mruby-enumerator/mrblib
parent687a4d961f74d45afd8db715e5eaafba96457441 (diff)
downloadmruby-2650999092cac630e5bacb0a12c96bc642e939e6.tar.gz
mruby-2650999092cac630e5bacb0a12c96bc642e939e6.zip
Fix `Enumerator#(initialize|inspect)` for `nil`/`false`
Diffstat (limited to 'mrbgems/mruby-enumerator/mrblib')
-rw-r--r--mrbgems/mruby-enumerator/mrblib/enumerator.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/mrbgems/mruby-enumerator/mrblib/enumerator.rb b/mrbgems/mruby-enumerator/mrblib/enumerator.rb
index cbf53974a..143f2b74f 100644
--- a/mrbgems/mruby-enumerator/mrblib/enumerator.rb
+++ b/mrbgems/mruby-enumerator/mrblib/enumerator.rb
@@ -109,11 +109,11 @@ class Enumerator
#
# p fib.take(10) # => [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
#
- def initialize(obj=nil, meth=:each, *args, &block)
+ def initialize(obj=NONE, meth=:each, *args, &block)
if block
obj = Generator.new(&block)
- else
- raise ArgumentError unless obj
+ elsif obj == NONE
+ raise ArgumentError, "wrong number of arguments (given 0, expected 1+)"
end
if @obj and !self.respond_to?(meth)
raise NoMethodError, "undefined method #{meth}"
@@ -221,13 +221,11 @@ class Enumerator
end
def inspect
- return "#<#{self.class}: uninitialized>" unless @obj
-
if @args && @args.size > 0
args = @args.join(", ")
- "#<#{self.class}: #{@obj}:#{@meth}(#{args})>"
+ "#<#{self.class}: #{@obj.inspect}:#{@meth}(#{args})>"
else
- "#<#{self.class}: #{@obj}:#{@meth}>"
+ "#<#{self.class}: #{@obj.inspect}:#{@meth}>"
end
end