Skip to content

Commit 861f8bd

Browse files
committed
mruby-enumerator: add Enumerator#size
If the original object responds to `size` method, `Enumerator#size` calls that method, otherwise return `nil`. CRuby returns the exact size for more cases (e.g. Enumerable::Lazy#size), but mruby has more limitations.
1 parent 49f86f1 commit 861f8bd

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

mrbgems/mruby-enumerator/mrblib/enumerator.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,14 @@ def inspect
238238
end
239239
end
240240

241+
def size
242+
if @size
243+
@size
244+
elsif @obj.respond_to?(:size)
245+
@obj.size
246+
end
247+
end
248+
241249
##
242250
# call-seq:
243251
# enum.each { |elm| block } -> obj

0 commit comments

Comments
 (0)