diff options
| author | ksss <[email protected]> | 2016-11-30 11:02:02 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2016-11-30 11:02:02 +0900 |
| commit | 8675975ba212be389624ed165c287e9988e916db (patch) | |
| tree | 64c52b4a4f1d02b9d73a3e87a5ee7851ca2abdb2 /mrbgems/mruby-enum-lazy/mrblib/lazy.rb | |
| parent | 2bb47addadb3eda796520837c21d694c8d6e3320 (diff) | |
| download | mruby-8675975ba212be389624ed165c287e9988e916db.tar.gz mruby-8675975ba212be389624ed165c287e9988e916db.zip | |
Implement Enumerable::Lazy#to_enum and enum_for
Diffstat (limited to 'mrbgems/mruby-enum-lazy/mrblib/lazy.rb')
| -rw-r--r-- | mrbgems/mruby-enum-lazy/mrblib/lazy.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mrbgems/mruby-enum-lazy/mrblib/lazy.rb b/mrbgems/mruby-enum-lazy/mrblib/lazy.rb index 8ce363c6d..c9c3cc5fd 100644 --- a/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +++ b/mrbgems/mruby-enum-lazy/mrblib/lazy.rb @@ -40,6 +40,15 @@ module Enumerable } end + def to_enum(meth=:each, *args, &block) + lz = Lazy.new(self, &block) + lz.obj = self + lz.meth = meth + lz.args = args + lz + end + alias enum_for to_enum + def map(&block) Lazy.new(self){|yielder, val| yielder << block.call(val) |
