lzy.to_enum(method = :each, *args) â lazy_enum
lzy.to_enum(method = :each, *args) {|*args| block} â lazy_enum
lzy.to_enum(method = :each, *args) {|*args| block} â lazy_enum
Instance Public methods
Similar to Kernel#to_enum, except it returns a lazy enumerator. This makes it easy to define Enumerable methods that will naturally remain lazy if called from a lazy enumerator.
For example, continuing from the example in Kernel#to_enum:
1 2 3 4 5 6 7 8 | # See Kernel#to_enum for the definition of repeat r = 1 ..Float:: INFINITY r.repeat( 2 ).first( 5 ) # => [1, 1, 2, 2, 3] r.repeat( 2 ). class # => Enumerator r.repeat( 2 ).map{|n| n ** 2 }.first( 5 ) # => endless loop! # works naturally on lazy enumerator: r.lazy.repeat( 2 ). class # => Enumerator::Lazy r.lazy.repeat( 2 ).map{|n| n ** 2 }.first( 5 ) # => [1, 1, 4, 4, 9] |
Please login to continue.