mruby · GitHub

Commit 861f8bd

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 file changed

Lines changed: 8 additions & 0 deletions

File tree

  • mrbgems/mruby-enumerator/mrblib

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

Read the original on github.com ↗