Project

General

Profile

Actions

Bug #7343

closed

Enumerator::Lazy seems to nest herself infinitely

Added by udzura (Uchio KONDO) about 12 years ago. Updated about 12 years ago.

Status:
Rejected
Assignee:
-
Target version:
ruby -v:
ruby 2.0.0dev (2012-11-13) [x86_64-darwin11.4.2]
Backport:
[ruby-core:49286]

Description

Hello, Ruby dev team.

I tried Ruby 2.0 trunk, and found Enumerator::Lazy a bit weird.

> [1, 2, 3].cycle.lazy.take 5
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take(5)> 

> [1, 2, 3].cycle.lazy.take_while {|i| i < 3 }.lazy.take(2)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take_while>:take(2)>

> [1, 2, 3].cycle.lazy.take_while {|i| i < 3 }.lazy.take(2).lazy.take(3).lazy
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take_while>:take(2)>:take(3)> 

Is this type of infinite nesting desirable?

Thank you,
Uchio KONDO

Actions

Also available in: Atom PDF

Like0
Like0Like0